1 #include <SemaphoreSyncObject.h> 2 #include <cppunit/Exception.h> 3 4 SemaphoreSyncObject::SemaphoreSyncObject() 5 : fSemId(create_sem(1, "CppUnitSync")) 6 { 7 if (fSemId < B_OK) 8 throw CppUnit::Exception("SemaphoreSyncObject::SemaphoreSyncObject() -- Error creating semaphore"); 9 } 10 11 SemaphoreSyncObject::~SemaphoreSyncObject() { 12 delete_sem(fSemId); 13 } 14 15 void 16 SemaphoreSyncObject::lock() { 17 if (acquire_sem(fSemId) < B_OK) 18 throw CppUnit::Exception("SemaphoreSyncObject::lock() -- Error acquiring semaphore"); 19 } 20 21 void 22 SemaphoreSyncObject::unlock() { 23 if (release_sem(fSemId) < B_OK) 24 throw CppUnit::Exception("SemaphoreSyncObject::unlock() -- Error releasing semaphore"); 25 } 26