libdpf/thirdparty/portable-snippets/once/README.md
Ryan Henry e4e666f459 Initial import of libdpf.
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-09-24 14:08:32 -06:00

11 lines
446 B
Markdown

# Once
This is a simple abstraction for a once which will choose from a few
different back-ends:
* If C11 threads are available, use `call_once()`.
* On Windows, use
[InitOnceExecuteOnce()](https://msdn.microsoft.com/en-us/library/windows/desktop/ms683493(v=vs.85).aspx)
* If `PTHREAD_ONCE_INIT` is defined (*i.e.*, if `<pthread.h>` has
been included prior to including `once.h`), use `pthread_once()`.
* Use `[atomic.h](../atomic)`.