January 30, 2003 PTHREAD_MUTEX_UNLOCK 3

### NAME

pthread_mutex_unlock - unlock a mutex

### LIBRARY

POSIX Thread Library (libpthread, -lpthread)

### SYNOPSIS

```int` pthread_mutex_unlock(```pthread_mutex_t *mutex`)

### DESCRIPTION

If the current thread holds the lock on ```mutex`, then the pthread_mutex_unlock(``) function unlocks ```mutex`.

### RETURN VALUES

If successful, pthread_mutex_unlock(``) will return zero, otherwise an error number will be returned to indicate the error.

### ERRORS

pthread_mutex_unlock(``) may fail if:

[```EINVAL`]
  The value specified by ```mutex` is invalid.

[```EPERM`]
  The current thread does not hold a lock on ```mutex`.

### SEE ALSO

pthread_mutex_destroy(3), pthread_mutex_init(3), pthread_mutex_lock(3), pthread_mutex_trylock(3)

### STANDARDS

pthread_mutex_unlock(``) conforms to ISO/IEC 9945-1:1996 (``POSIX.1'') .