X-Git-Url: http://git.silcnet.org/gitweb/?a=blobdiff_plain;f=lib%2Fsilcutil%2Funix%2Fsilcunixmutex.c;h=6b92ee3286d7a6c56cc79cee37607639e7f61aa4;hb=8ea2a4ce03f30c1742dd3af1dd9b6838e60a93eb;hp=1b531b0a481300a2384224413209a60f9be228fc;hpb=31cdfafba28cbf5cc0d96caa8310cf31a59633c8;p=silc.git diff --git a/lib/silcutil/unix/silcunixmutex.c b/lib/silcutil/unix/silcunixmutex.c index 1b531b0a..6b92ee32 100644 --- a/lib/silcutil/unix/silcunixmutex.c +++ b/lib/silcutil/unix/silcunixmutex.c @@ -21,39 +21,47 @@ #include "silcincludes.h" -#ifdef SILC_THREADS - /* SILC Mutex structure */ struct SilcMutexStruct { +#ifdef SILC_THREADS pthread_mutex_t mutex; +#else + void *tmp; +#endif /* SILC_THREADS */ }; bool silc_mutex_alloc(SilcMutex *mutex) { +#ifdef SILC_THREADS *mutex = silc_calloc(1, sizeof(**mutex)); if (*mutex == NULL) return FALSE; pthread_mutex_init(&(*mutex)->mutex, NULL); +#endif /* SILC_THREADS */ return TRUE; } void silc_mutex_free(SilcMutex mutex) { +#ifdef SILC_THREADS pthread_mutex_destroy(&mutex->mutex); silc_free(mutex); +#endif /* SILC_THREADS */ } void silc_mutex_lock(SilcMutex mutex) { +#ifdef SILC_THREADS if (pthread_mutex_lock(&mutex->mutex)) assert(FALSE); +#endif /* SILC_THREADS */ } void silc_mutex_unlock(SilcMutex mutex) { +#ifdef SILC_THREADS if (pthread_mutex_unlock(&mutex->mutex)) assert(FALSE); -} - #endif /* SILC_THREADS */ +}