Museum

Home

Lab Overview

Retrotechnology Articles

⇒ Online Manual

Media Vault

Software Library

Restoration Projects

Artifacts Sought

pthread_mutex_trylock(3thr)

Name

pthread_mutex_trylock − Locks a mutex. If the mutex is already locked, the calling thread does not wait for the mutex to become available

Syntax

#include <pthread.h>

int pthread_mutex_trylock (mutex)
pthread_mutex_t *mutex;

Arguments

mutex Mutex locked. 

Description

This routine locks a mutex. If the specified mutex is locked when a thread calls this routine, the calling thread does not wait for the mutex to become available. 

When a thread calls this routine, an attempt is made to immediately lock the mutex. If the mutex is successfully locked, 1 is returned and the current thread is then the mutex’s current owner. 

If the mutex is locked by another thread when this routine is called, 0 is returned and the thread does not wait to acquire the lock.  If a fast mutex is owned by the current thread, 0 is returned.  If a recursive mutex is owned by the current thread, 1 is returned and the mutex is relocked.  (To unlock a recursive mutex, each call to pthread_mutex_trylock must be matched by a call to pthread_mutex_unlock.) 

Return Values

If an error condition occurs, this routine returns -1 and sets errno to the corresponding error value.  Possible return values are as follows. 

Return Error Description
1 Successful completion. 
0 The mutex is already locked; therefore, it was not acquired. 
-1 [EINVAL] The value specified by mutex is invalid. 

Typewritten Software • bear@typewritten.org • Edmonds, WA 98026