[#BSLMT_ONCE_DO] = BSLMT_ONCE_DO :mrdocs: This macro provides a simple control construct to bracket a piece of code that should only be executed once during the course of a multithreaded program. Usage: ` BSLMT_ONCE_DO { /* one‐time code goes here */ } ` Leaving a `BSLMT_ONCE_DO` construct via `break`, `continue`, or `return` will put the construct in a "done" state (unless `BSLMT_ONCE_CANCEL` has been called) and will unblock all threads waiting to enter the one‐time region. Note that a `break` or `continue` within the one‐time code will terminate only the `BSLMT_ONCE_DO` construct, not any surrounding loop or switch statement. Due to a bug in the Microsoft Visual C++ 2003 compiler, the behavior is undefined if an exception is thrown from within this construct and is not caught within the same construct. Only one call to `BSLMT_ONCE_DO` may appear on a single source‐code line in any code block. == Synopsis Declared in `<bslmt_once.h>` [source,cpp,subs="verbatim,replacements,macros,-callouts"] ---- #define BSLMT_ONCE_DO ---- [.small]#Created with https://www.mrdocs.com[MrDocs]#