Replacement for task, mutexes and other real time components



download task.zip


task is an eclipse and a Visual C++ project at same time.

Because pthread exists for Windows (Useful links), the _PURE_WIN32 preprocessor flag is used for specific Windows's implementation.


It implements a Mutex class :

* POSIX mutex class
* Acts like a semaphore(1)
* Uses different libraries
* Expressive preprocessor flags to use one of these libraries are :
* _BOOST, _IPC, _GNU_PTH, _SOLARIS, _TAO, _OMNIORB, _PURE_WIN32, none (default) : POSIX pthread
*
* Defines a waitForMultipleMutexes function acting like the Windows's :
* WaitForMultipleObjects(DWORD nCount, const HANDLE *lpHandles, bool bWaitAll, DWORD dwMilliseconds)
*
* Defines the Windows's DWORD GetTickCount(void)
*
* Methods : _lock(), _trylock() and _unlock()


It implements a ListOfPointers class :

* FIFO\LIFO list of pointers of types, structures or classes
* ListOfPointers is a template class
* ListOfPointers is entirely protected by mutexes


It implements a ThreadClass class :

* Uses different libraries
* Expressive preprocessor flags to use one of these libraries are :
* _BOOST, _GNU_PTH, _SOLARIS, _TAO, _OMNIORB, _PURE_WIN32, none (default) : POSIX pthread


It implements a task class :

* a few essential methods of the old task class