Manual Page Result
0
Command: pthread_lock_global_np | Section: 3 | Source: Digital UNIX | File: pthread_lock_global_np.3.gz
pthread_lock_global_np(3) Library Functions Manual pthread_lock_global_np(3)
NAME
pthread_lock_global_np - Locks the DECthreads global mutex if already
unlocked.
LIBRARY
DECthreads POSIX 1003.1c Library (libpthread.so)
SYNOPSIS
#include <pthread.h>
int pthread_lock_global_np(void);
STANDARDS
None
PARAMETERS
None
DESCRIPTION
This routine locks the DECthreads global mutex. If the global mutex is
currently held by another thread when a thread calls this routine, the
thread waits for the global mutex to become available.
The thread that has locked the global mutex becomes its current owner
and remains the owner until the same thread has unlocked it. This rou-
tine returns with the global mutex in the locked state and with the
current thread as the global mutex's current owner.
Use the DECthreads global mutex when calling a library package that is
not designed to run in a multithreaded environment. Unless the docu-
mentation for a library function specifically states that it is thread
safe, assume that it is not compatible; in other words, assume it is
nonreentrant.
The global mutex is one lock. Any code that calls any function that is
not known to be reentrant uses the same lock. This prevents problems
resulting from dependencies among threads that call library functions
and those functions' calling other functions, and so on.
The global mutex is a recursive mutex. A thread that has locked the
global mutex can relock it without deadlocking. The locking thread
must call pthread_unlock_global_np(3) as many times as it called this
routine, to allow another thread to lock the global mutex.
RETURN VALUES
If an error condition occurs, this routine returns an integer value in-
dicating the type of error. Possible return values are as follows:
Successful completion.
ERRORS
None
RELATED INFORMATION
Functions: pthread_unlock_global_np(3)
Manuals: Guide to DECthreads and Programmer's Guide
delim off
pthread_lock_global_np(3)