From 37c4bead67c36dd68e347c40ccf7204c8089de62 Mon Sep 17 00:00:00 2001 From: Jeff Hill Date: Fri, 22 Nov 1996 19:32:01 +0000 Subject: [PATCH] installed --- src/cas/os/posixRT/osiMutex.h | 45 +++++++++++++++++++++++++++++++++++ 1 file changed, 45 insertions(+) create mode 100644 src/cas/os/posixRT/osiMutex.h diff --git a/src/cas/os/posixRT/osiMutex.h b/src/cas/os/posixRT/osiMutex.h new file mode 100644 index 000000000..2299cb996 --- /dev/null +++ b/src/cas/os/posixRT/osiMutex.h @@ -0,0 +1,45 @@ +// +// osiMutex - OS independent mutex +// (posix RT version) +// + +#include +#include + +class osiMutex { +public: + // + // constructor that returns status + // (since g++ does not have exceptions) + // + caStatus osiMutexInit() + { + int status; + status = sem_init(&this->sem,0,0); + if (status) { + return -1; + } + return 0; + } + ~osiMutex() + { + int status; + status = sem_destroy(&this->sem); + assert(status==0); + } + void lock() + { + int status; + status = sem_wait(&this->sem); + assert(status==0); + } + void unlock() + { + int status; + status = sem_post(&this->sem); + assert(status==0); + } +private: + sem_t sem; +}; +