|
Geogram Version 1.9.7
A programming library of geometric algorithms
|
Functions and classes for process manipulation. More...
#include <geogram/basic/common.h>#include <geogram/basic/numeric.h>#include <geogram/basic/assert.h>#include <geogram/basic/argused.h>#include <vector>#include <atomic>Go to the source code of this file.
Classes | |
| class | GEO::Process::BasicSpinLockArray |
| An array of light-weight synchronisation primitives (spinlocks). More... | |
Namespaces | |
| namespace | GEO |
| Global Vorpaline namespace. | |
| namespace | GEO::Process |
| Abstraction layer for process management and multi-threading. | |
Macros | |
| #define | GEOGRAM_SPINLOCK_INIT ATOMIC_FLAG_INIT |
Typedefs | |
| typedef std::atomic_flag | GEO::Process::spinlock |
| A lightweight synchronization structure. | |
Functions | |
| void | geo_pause () |
| executes the pause instruction | |
| void | GEO::Process::acquire_spinlock (volatile spinlock &x) |
Loops until x is available then reserves it. | |
| void | GEO::Process::release_spinlock (volatile spinlock &x) |
Makes x available to other threads. | |
Functions and classes for process manipulation.
Definition in file thread_sync.h.
| #define GEOGRAM_SPINLOCK_INIT ATOMIC_FLAG_INIT |
The initialization value of a spinlock.
Definition at line 141 of file thread_sync.h.
|
inline |
executes the pause instruction
should be called when a spinlock is spinning
Definition at line 75 of file thread_sync.h.