int knh_mutex_unlock(kmutex_t *m) { //DBG_P("unlocking %p", m); #if defined(K_USING_PTHREAD) int ret = pthread_mutex_unlock((pthread_mutex_t*)m); return ret; #elif defined(K_USING_BTRON) W err = b_sig_sem(*m); if (err < 0) { return -1; } return 0; #elif defined(K_USED_TO_BE_ON_LKM) mutex_unlock((struct mutex *) m); return 0; #elif defined(K_USING_WINTHREAD_) LeaveCriticalSection(m); return 0; #else return 0; #endif }
BOOL cg_mutex_unlock(CgMutex *mutex) { if (!mutex) return FALSE; cg_log_debug_l4("Entering...\n"); #if defined(WIN32) && !defined(ITRON) ReleaseMutex(mutex->mutexID); #elif defined(BTRON) sig_sem(mutex->mutexID); #elif defined(ITRON) sig_sem(mutex->mutexID); #elif defined(TENGINE) && !defined(PROCESS_BASE) tk_sig_sem(mutex->mutexID, 1); #elif defined(TENGINE) && defined(PROCESS_BASE) b_sig_sem(mutex->mutexID); #else pthread_mutex_unlock(&mutex->mutexID); #endif return TRUE; cg_log_debug_l4("Leaving...\n"); }
bool mupnp_mutex_unlock(mUpnpMutex *mutex) { if (!mutex) return false; mupnp_log_debug_l4("Entering...\n"); #if defined(WIN32) && !defined(ITRON) ReleaseMutex(mutex->mutexID); #elif defined(BTRON) sig_sem(mutex->mutexID); #elif defined(ITRON) sig_sem(mutex->mutexID); #elif defined(TENGINE) && !defined(PROCESS_BASE) tk_sig_sem(mutex->mutexID, 1); #elif defined(TENGINE) && defined(PROCESS_BASE) b_sig_sem(mutex->mutexID); #else pthread_mutex_unlock(&mutex->mutexID); #endif return true; mupnp_log_debug_l4("Leaving...\n"); }