FARGOS/VISTA Object Management Environment Core  ..
FARGOS/VISTA Object Management Environment Core Table of Contents
OMEmutex.h File Reference

OME mutex and condition variable implementation. More...

#include <unistd.h>
#include <pthread.h>
#include <OMEmanifests.h>

Go to the source code of this file.

Macros

#define OME_MUTEX_TYPE   pthread_mutex_t
 
#define OME_CONDITION_TYPE   pthread_cond_t
 
#define OME_MAX_CPUS_PERMITTED   128
 

Typedefs

typedef void *(* OMEnativeTaskFP) (void *)
 

Enumerations

enum  eOMEcriticalSectionLabel {
  OME_CRITICAL_SECTION_METHOD_INVOKE, OME_CRITICAL_SECTION_THREAD_QUEUE, OME_CRITICAL_SECTION_OID_REFERENCE, OME_CRITICAL_SECTION_EVENT_TABLE,
  OME_CRITICAL_SECTION_KERNEL_THREAD, OME_CRITICAL_SECTION_OMETYPE_OP, OME_CRITICAL_SECTION_IO_TABLE, OME_CRITICAL_SECTION_MISCELLANEOUS,
  OME_CRITICAL_SECTION_OMETYPE_REF, OME_CRITICAL_SECTION_TOTAL
}
 

Functions

OME_DLL_EXPORT void OMEstartCriticalSection (eOMEcriticalSectionLabel regionID)
 
OME_DLL_EXPORT void OMEendCriticalSection (eOMEcriticalSectionLabel regionID)
 
OME_DLL_EXPORT bool OMEinitStandardCriticalSectionMutexes ()
 
OME_DLL_EXPORT bool OMEinitCriticalSectionMutex (OME_MUTEX_TYPE *, bool recursive=false) NONNULL_PARAMETERS(1)
 
OME_DLL_EXPORT int OMEdestroyCriticalSectionMutex (OME_MUTEX_TYPE *) NONNULL_PARAMETERS(1)
 
OME_DLL_EXPORT uint32_t OMEgetMiscellaneousMutex () OME_CONST_FUNCTION
 
OME_DLL_EXPORT int OMEinitConditionVariable (OME_CONDITION_TYPE *)
 
OME_DLL_EXPORT int OMEdestroyConditionVariable (OME_CONDITION_TYPE *) NONNULL_PARAMETERS(1)
 
OME_DLL_EXPORT int OMEwaitForCondition (OME_CONDITION_TYPE *, eOMEcriticalSectionLabel mutexId) NONNULL_PARAMETERS(1)
 
OME_DLL_EXPORT int OMEsetConditionVariable (OME_CONDITION_TYPE *) NONNULL_PARAMETERS(1)
 
OME_DLL_EXPORT uint64_t OMEcallWithNativeThread (OMEnativeTaskFP func, void *functionArg)
 
OME_DLL_EXPORT int OMEwaitForNativeThread (uint64_t pid, void **retValue)
 

Detailed Description

OME mutex and condition variable implementation.

Generated: Tue Jul 28 2020 16:03:26
Support Information