tail head cat sleep
QR code linking to this page

Manual Pages  — PTHREAD_RWLOCK_INIT

NAME

pthread_rwlock_init – initialize a read/write lock

CONTENTS

LIBRARY

POSIX Threads Library (libpthread, -lpthread)

SYNOPSIS

#include <pthread.h>

int
pthread_rwlock_init(pthread_rwlock_t *restrict lock, const pthread_rwlockattr_t *restrict attr);

DESCRIPTION

The pthread_rwlock_init() function is used to initialize a read/write lock, with attributes specified by attr. If attr is NULL, the default read/write lock attributes are used.

The results of calling pthread_rwlock_init() with an already initialized lock are undefined.

RETURN VALUES

If successful, the pthread_rwlock_init() function will return zero. Otherwise an error number will be returned to indicate the error.

ERRORS

The pthread_rwlock_init() function will fail if:
[EAGAIN]
  The system lacked the necessary resources (other than memory) to initialize the lock.
[ENOMEM]
  Insufficient memory exists to initialize the lock.
[EPERM]
  The caller does not have sufficient privilege to perform the operation.

The pthread_rwlock_init() function may fail if:
[EBUSY]
  The system has detected an attempt to re-initialize the object referenced by lock, a previously initialized but not yet destroyed read/write lock.
[EINVAL]
  The value specified by attr is invalid.

SEE ALSO

pthread_rwlock_destroy(3), pthread_rwlockattr_init(3), pthread_rwlockattr_setpshared(3)

STANDARDS

The pthread_rwlock_init() function is expected to conform to Version 2 of the Single UNIX Specification.

HISTORY

The pthread_rwlock_init() function first appeared in FreeBSD 3.0 .

PTHREAD_RWLOCK_INIT (3) August 17, 2018

tail head cat sleep
QR code linking to this page


Please direct any comments about this manual page service to Ben Bullock. Privacy policy.

As soon as we started programming, we found to our surprise that it wasn't as easy to get programs right as we had thought. Debugging had to be discovered. I can remember the exact instant when I realized that a large part of my life from then on was going to be spent in finding mistakes in my own programs.
— Maurice Wilkes