X-Git-Url: http://git.silcnet.org/gitweb/?p=runtime.git;a=blobdiff_plain;f=lib%2Fsilcutil%2Funix%2Fsilcunixthread.c;h=fd30cf3d03b14c6e8bd75f274707c80fa27bce01;hp=286a26db7fba5e4f3da8b7315fc1e304e7b6929b;hb=631f1669539aaa58b8c49c4d431930f7ab68a633;hpb=ccdddda33bec54d464d667dbf05fb2307e8a7e87 diff --git a/lib/silcutil/unix/silcunixthread.c b/lib/silcutil/unix/silcunixthread.c index 286a26db..fd30cf3d 100644 --- a/lib/silcutil/unix/silcunixthread.c +++ b/lib/silcutil/unix/silcunixthread.c @@ -200,6 +200,19 @@ void silc_mutex_unlock(SilcMutex mutex) #endif /* SILC_THREADS */ } +SilcBool silc_mutex_trylock(SilcMutex mutex) +{ +#ifdef SILC_THREADS + if (mutex) { + if (pthread_mutex_trylock(&mutex->mutex) == 0) { + mutex->locked = TRUE; + return TRUE; + } + } +#endif /* SILC_THREADS */ + return FALSE; +} + void silc_mutex_assert_locked(SilcMutex mutex) { #ifdef SILC_THREADS