71     mutex->lineno = lineno;
    73     mutex->collisions = 0;
   105     if (
mutex->locks > 0 || 
mutex->collisions > 0) {
   106         info(0, 
"Mutex %s:%d: %ld locks, %ld collisions.",
   112     if ((ret = pthread_mutex_destroy(&
mutex->
mutex)) != 0)
   113         panic(ret, 
"Attempt to destroy locked mutex!");
   138         panic(0, 
"%s:%ld: %s: Mutex failure! (Called from %s:%ld:%s.)", \
   139                  __FILE__, (
long) __LINE__, __func__, 
file, (
long) line, func);
   141         panic(0, 
"%s:%ld: %s: Managed to lock the mutex twice! (Called from %s:%ld:%s.)", \
   142                  __FILE__, (
long) __LINE__, __func__, 
file, (
long) line, func);
   151         error(0, 
"%s:%ld: %s: Trying to unlock a NULL mutex! (Called from %s:%ld:%s.)", \
   152                  __FILE__, (
long) __LINE__, __func__, 
file, (
long) line, func);
   159         panic(0, 
"%s:%ld: %s: Mutex failure! (Called from %s:%ld:%s.)", \
   160                  __FILE__, (
long) __LINE__, __func__, 
file, (
long) line, func);
   170         error(0, 
"%s:%ld: %s: Trying to lock a NULL mutex! (Called from %s:%ld:%s.)", \
   171                  __FILE__, (
long) __LINE__, __func__, 
file, (
long) line, func);
   178             panic(0, 
"%s:%ld: %s: Managed to lock the mutex twice! (Called from %s:%ld:%s.)", \
   179                  __FILE__, (
long) __LINE__, __func__, 
file, (
long) line, func);
   183     else if (ret == EINVAL)
   184         panic(0, 
"%s:%ld: %s: Mutex failure! (Called from %s:%ld:%s.)", \
   185                  __FILE__, (
long) __LINE__, __func__, 
file, (
long) line, func);
 void error(int err, const char *fmt,...)
 
void info(int err, const char *fmt,...)
 
gw_assert(wtls_machine->packet_to_send !=NULL)
 
int mutex_unlock_real(Mutex *mutex, char *file, int line, const char *func)
 
Mutex * mutex_create_real(void)
 
Mutex * mutex_init_static_real(Mutex *mutex)
 
char filename[FILENAME_MAX+1]
 
void mutex_destroy(Mutex *mutex)
 
void mutex_lock_real(Mutex *mutex, char *file, int line, const char *func)
 
int mutex_trylock_real(Mutex *mutex, const char *file, int line, const char *func)
 
Mutex * mutex_create_measured(Mutex *mutex, char *filename, int lineno)