Go to the documentation of this file.
2 #define _OME_MUTEX_H "$Id: OMEmutex.h 466 2020-07-24 23:00:54Z fargos $"
16 # include <winsock2.h>
17 # define DONT_USE_PTHREADS
18 # define OME_MUTEX_TYPE CRITICAL_SECTION
19 # define OME_CONDITION_TYPE HANDLE
22 # ifndef DONT_USE_PTHREADS
26 # define OME_MUTEX_TYPE pthread_mutex_t
27 # define OME_CONDITION_TYPE pthread_cond_t
29 # define OME_MUTEX_TYPE uint32_t
30 # define OME_CONDITION_TYPE uint32_t
79 #define OME_MAX_CPUS_PERMITTED 128
#define _OME_MUTEX_H
Definition: tmp.o.cpp:969
@ OME_CRITICAL_SECTION_TOTAL
count of critical sections...
Definition: OMEmutex.h:50
@ OME_CRITICAL_SECTION_EVENT_TABLE
Definition: OMEmutex.h:43
@ OME_CRITICAL_SECTION_OID_REFERENCE
Definition: OMEmutex.h:42
bool OMEinitStandardCriticalSectionMutexes()
Definition: OMEmutex.cpp:114
#define stdout
Definition: tmp.o.cpp:3117
void OMEstartCriticalSection(eOMEcriticalSectionLabel regionID)
Definition: OMEmutex.cpp:217
int OMEsetConditionVariable(OME_CONDITION_TYPE *var)
Definition: OMEmutex.cpp:204
Implements text and binary string storage.
Definition: OMEstring.h:305
#define OME_CONDITION_TYPE
Definition: OMEmutex.h:27
@ OME_CRITICAL_SECTION_OMETYPE_REF
Definition: OMEmutex.h:48
int OMEwaitForCondition(OME_CONDITION_TYPE *var, eOMEcriticalSectionLabel mutexID)
Definition: OMEmutex.cpp:172
@ OME_CRITICAL_SECTION_METHOD_INVOKE
Definition: OMEmutex.h:40
Fundamental ANY type for FARGOS/VISTA Object Management Environment.
Definition: OMEbaseType.h:250
#define OME_MUTEX_TYPE
Definition: OMEmutex.h:26
void unlockMEM()
Definition: OMEmutex.cpp:348
int OMEinitConditionVariable(OME_CONDITION_TYPE *var)
Definition: OMEmutex.cpp:130
void OMEloadVersion1Encodings()
Definition: encodeVer1.cpp:631
uint32_t OMEgetMiscellaneousMutex()
Definition: OMEmutex.cpp:69
OMEstring hostName
Definition: OMEprocInfo.h:67
#define NONNULL_PARAMETERS(...)
Mark parameters to a function as not permitting null pointers.
Definition: compiler_hints.h:335
@ OME_CRITICAL_SECTION_IO_TABLE
Definition: OMEmutex.h:46
const char srcID[]
Definition: catSym.c:17
void lockMEM()
Definition: OMEmutex.cpp:340
OME_DLL_EXPORT int OMEconvertLocalRelativeTimeToAbsolute(OMEtype &result, uint32_t tArg, int asGMT)
Convert a local relative time to an OME absolute time reference.
Definition: OMEtime.cpp:89
#define OME_MUTEX_TYPE
Definition: timed_mutex.hpp:17
int OMEwaitForNativeThread(uint64_t pid, void **retValue)
Definition: OMEmutex.cpp:312
#define NULL
Definition: tmp.o.cpp:327
OMEstring * OMEbase64ToBinary(const OMEstring &source)
Convert base-64 encoded text to its binary representation.
Definition: OMEbase64.cpp:156
#define OME_CONDITION_TYPE
Definition: timed_mutex.hpp:18
#define PTHREAD_MUTEX_RECURSIVE
Definition: tmp.o.cpp:437
OME fundamental type implementation.
size_t length() const
Definition: OMEstring.h:401
#define FILE_TYPE_LICENSE_V2
Definition: OMElicense.cpp:18
OMEthisProcessInfo OMEcurrentProcessInfo
Automatic instantiation of OMEthisProcessInfo. When properly linked, the C++ static constructor mecha...
Definition: OMEprocInfo.cpp:217
const char srcID[] OME_USED
Definition: tick_time.cpp:24
#define OME_CONST_FUNCTION
Mark as an idempotent function that only accesses arguments – no global data.
Definition: compiler_hints.h:390
OMEstring * OMEgetUserName()
Return the name of the user associated with the process.
Definition: OMEprocInfo.cpp:285
@ OME_CRITICAL_SECTION_OMETYPE_OP
Definition: OMEmutex.h:45
OME constants and typedefs.
void OMEendCriticalSection(eOMEcriticalSectionLabel regionID)
Definition: OMEmutex.cpp:236
@ OME_CRITICAL_SECTION_KERNEL_THREAD
Definition: OMEmutex.h:44
#define OME_EXPECT_FALSE(expr)
Annotation macro for conditional expression expected to be false.
Definition: compiler_hints.h:540
void *(* OMEnativeTaskFP)(void *)
Definition: OMEmutex.h:73
STREAMTYPE & outputOnStream(STREAMTYPE &outputOnStream, int_fast16_t indent=0, uint8_t includeTypePrefix=OUTPUT_TYPENAME) const
Definition: OMEoutputOnStream.h:311
OME mutex and condition variable implementation.
@ OME_CRITICAL_SECTION_MISCELLANEOUS
Definition: OMEmutex.h:47
int main(int argc, const char *argv[])
Definition: OMEmkLicense.cpp:13
#define OME_DLL_EXPORT
Definition: compiler_hints.h:464
int OMEdestroyConditionVariable(OME_CONDITION_TYPE *var)
Definition: OMEmutex.cpp:154
@ OME_DEFAULT_COMPLEX_OUTPUT_MODE
Definition: OMEmanifests.h:116
eOMEcriticalSectionLabel
Definition: OMEmutex.h:39
uint64_t OMEcallWithNativeThread(OMEnativeTaskFP func, void *functionArg)
Definition: OMEmutex.cpp:283
int OMEdestroyCriticalSectionMutex(OME_MUTEX_TYPE *m)
Definition: OMEmutex.cpp:99
@ OME_ASSOC
Definition: OMEmanifests.h:87
bool OMEinitCriticalSectionMutex(OME_MUTEX_TYPE *m, bool recursive)
Definition: OMEmutex.cpp:75
@ OME_CRITICAL_SECTION_THREAD_QUEUE
Definition: OMEmutex.h:41