Exemple #1
0
// Release the semaphore
OsStatus OsCSemLinux::release(void)
{
   OsStatus res;

   res = (pt_sem_post(&mSemImp) == POSIX_OK) ? OS_SUCCESS : OS_BUSY;

#ifdef OS_CSEM_DEBUG
   if (res == OS_SUCCESS)
      updateReleaseStats();
#endif

    return res;
}    
// Release the semaphore
OsStatus OsCSemLinux::release(void)
{
   OsStatus res;

#ifdef OS_SYNC_DEBUG
   mSyncCrumbs.dropCrumb(pthread_self(), crumbReleased);
#endif

   res = (pt_sem_post(&mSemImp) == POSIX_OK) ? OS_SUCCESS : OS_BUSY;

#ifdef OS_CSEM_DEBUG
   if (res == OS_SUCCESS)
   {
      updateReleaseStats();
   }
#endif

    return res;
}