Skip site navigation (1)Skip section navigation (2)

FreeBSD Manual Pages

  
 
  

home | help
PTHREAD_RWLOCK_INIT(3) FreeBSD Library Functions Manual	PTHREAD_RWLOCK_INIT(3)

NAME
     pthread_rwlock_init -- initialize a read/write lock

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.  Oth-
     erwise 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 per-
			form 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 initial-
			ized 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 ("SUSv2").

HISTORY
     The pthread_rwlock_init() function	first appeared in FreeBSD 3.0.

FreeBSD	13.0			August 17, 2018			  FreeBSD 13.0

NAME | LIBRARY | SYNOPSIS | DESCRIPTION | RETURN VALUES | ERRORS | SEE ALSO | STANDARDS | HISTORY

Want to link to this manual page? Use this URL:
<https://man.freebsd.org/cgi/man.cgi?query=pthread_rwlock_init&sektion=3&manpath=FreeBSD+12.1-RELEASE+and+Ports>

home | help