NAME

kjb_pthread_mutex_trylock - Nonblocking attempt to lock a mutex

SYNOPSIS

#include "l_mt/l_mt_pthread.h"

Example compile flags (system dependent):
  -DLINUX_X86_64 -DLINUX_X86_64_OPTERON  -DGNU_COMPILER 
   -I/home/kobus/include
   -L/home/kobus/misc/load/linux_x86_64_opteron -L/usr/lib/x86_64-linux-gnu
  -lKJB                               -lfftw3  -lgsl -lgslcblas -ljpeg  -lSVM -lstdc++                    -lpthread -lSLATEC -lg2c    -lacml -lacml_mv -lblas -lg2c      -lncursesw 


int kjb_pthread_mutex_trylock(kjb_pthread_mutex_t *mutex);

DESCRIPTION

This will tentatively attempt to lock a mutex, but if the mutex is already held, this routine will NOT block, but instead immediately return the WOULD_BLOCK result code. LOCK STATUS: no, this does not necessarily touch thread_master_lock (unless it is an argument to this function).

RETURNS

NO_ERROR means this successfully locked the mutex. WOULD_BLOCK means the mutex is currently held, so we cannot lock it ourselves right now. (This is comparable to the pthreads value EBUSY, but the numerical values are almost surely different.) This value is defined in l/l_def.h. ERROR indicates some sort of trouble, with a description in the global error message.

DISCLAIMER

This software is not adequatedly tested. It is recomended that results are checked independantly where appropriate.

AUTHOR

Andrew Predoehl

DOCUMENTER

Andrew Predoehl

SEE ALSO

kjb_pthread_create , kjb_pthread_mutex_lock , kjb_pthread_mutex_unlock , kjb_pthread_equal , get_kjb_pthread_self , kjb_pthread_exit , kjb_pthread_join , kjb_pthread_cancel , kjb_pthread_mutex_init , kjb_pthread_mutex_destroy , kjb_multithread_wrapper_serialization_lock , kjb_multithread_wrapper_serialization_unlock , kjb_pthread_key_create , kjb_pthread_key_delete , kjb_pthread_setspecific , kjb_pthread_getspecific , kjb_pthread_once , kjb_pthread_read_prng_seeds , kjb_pthread_attr_init , kjb_pthread_attr_destroy , kjb_pthread_attr_setdetachstate , kjb_pthread_attr_getdetachstate , get_kjb_pthread_number , reset_kjb_pthread_counter