Geogram Version 1.8.5
A programming library of geometric algorithms
Loading...
Searching...
No Matches
thread_sync.h File Reference

Functions and classes for process manipulation. More...

#include <geogram/basic/common.h>
#include <geogram/basic/atomics.h>
#include <geogram/basic/numeric.h>
#include <geogram/basic/assert.h>
#include <geogram/basic/argused.h>
#include <vector>

Go to the source code of this file.

Classes

class  GEO::Process::SpinLockArray
 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 geo_thread_sync_assert(x)
 
#define GEOGRAM_SPINLOCK_INIT   0
 

Functions

void GEO::Process::acquire_spinlock (volatile spinlock &x)
 Loops until x is available then reserve it.
 
void GEO::Process::release_spinlock (volatile spinlock &x)
 Makes x available to other threads.
 

Detailed Description

Functions and classes for process manipulation.

Definition in file thread_sync.h.

Macro Definition Documentation

◆ geo_thread_sync_assert

#define geo_thread_sync_assert (   x)

Definition at line 66 of file thread_sync.h.

◆ GEOGRAM_SPINLOCK_INIT

#define GEOGRAM_SPINLOCK_INIT   0

The initialization value of a spin lock.

Definition at line 130 of file thread_sync.h.