NAME
pptthhrreeaaddrrwwlloocckkiinniitt - initialize a read/write lock
SYNOPSIS
##iinncclluuddee <
int pptthhrreeaaddrrwwlloocckkiinniitt(pthreadrwlockt *lock, const pthreadrwlockattrt *attr);> DESCRIPTION
The pptthhrreeaaddrrwwlloocckkiinniitt() 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 pptthhrreeaaddrrwwlloocckkiinniitt() with an already initialized lock are undefined.RETURN VALUES
If successful, the pptthhrreeaaddrrwwlloocckkiinniitt() function will return zero. Oth-
erwise an error number will be returned to indicate the error.SEE ALSO
pthreadrwlockattrinit(3), pthreadrwlockattrsetpshared(3), pthreadrwlockdestroy(3) STANDARDS The pptthhrreeaaddrrwwlloocckkiinniitt() function is expected to conform to Version 2 of the Single UNIX Specification (``SUSv2''). EERRRROORRSS The pptthhrreeaaddrrwwlloocckkiinniitt() 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 pptthhrreeaaddrrwwlloocckkiinniitt() 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. HISTORY The pptthhrreeaaddrrwwlloocckkiinniitt() function first appeared in FreeBSD 3.0.BUGS
The PTHREADPROCESSSHARED attribute is not supported. BSD August 4, 1998 BSD