28 static size_t osdMaxBlockSize = 0;
30 static void osdSufficentSpaceInPoolQuery ()
32 osdMaxBlockSize = (size_t) memFindMax ();
35 static void osdSufficentSpaceInPoolPoll (
void *pArgIn )
39 osdSufficentSpaceInPoolQuery ();
43 static void osdSufficentSpaceInPoolInit (
void *pArgIn )
47 osdSufficentSpaceInPoolQuery ();
51 osdSufficentSpaceInPoolPoll, 0 );
59 epicsThreadOnce ( &osdMaxBlockOnceler, osdSufficentSpaceInPoolInit, 0 );
61 if ( UINT_MAX - 100000u >= contiguousBlockSize ) {
62 return ( osdMaxBlockSize > 100000 + contiguousBlockSize );
#define epicsThreadPriorityMedium
Functions to check the state of the system memory pool.
LIBCOM_API int epicsStdCall osiSufficentSpaceInPool(size_t contiguousBlockSize)
Checks if a memory block of a specific size can be safely allocated.
LIBCOM_API unsigned int epicsStdCall epicsThreadGetStackSize(epicsThreadStackSizeClass size)
epicsThreadId epicsStdCall epicsThreadCreate(const char *name, unsigned int priority, unsigned int stackSize, EPICSTHREADFUNC funptr, void *parm)
#define EPICS_THREAD_ONCE_INIT
LIBCOM_API void epicsStdCall epicsThreadOnce(epicsThreadOnceId *id, EPICSTHREADFUNC, void *arg)
LIBCOM_API void epicsStdCall epicsThreadSleep(double seconds)
Block the calling thread for at least the specified time.
C++ and C descriptions for a thread.