pthread_rwlock_init man page on SmartOS

Man page or keyword search:  
man Server   16655 pages
apropos Keyword Search (all sections)
Output format
SmartOS logo
[printable version]

PTHREAD_RWLOCK_INIT(3C)				       PTHREAD_RWLOCK_INIT(3C)

NAME
       pthread_rwlock_init,  pthread_rwlock_destroy  -	initialize  or destroy
       read-write lock object

SYNOPSIS
       cc -mt [ flag... ] file... -lpthread [ library... ]
       #include <pthread.h>

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

       int pthread_rwlock_destroy(pthread_rwlock_t **rwlock);

       pthread_rwlock_t rwlock=PTHREAD_RWLOCK_INITIALIZER;

DESCRIPTION
       The pthread_rwlock_init() function initializes the read-write lock ref‐
       erenced	by rwlock with	the attributes referenced by attr.  If attr is
       NULL, the default  read-write lock attributes are used; the  effect  is
       the  same  as   passing	the  address  of  a  default  read-write  lock
       attributes object.  Once initialized, the lock can be used any	number
       of times without being re-initialized.  Upon successful initialization,
       the state of the read-write lock	  becomes  initialized	and  unlocked.
       Results	are undefined if pthread_rwlock_init() is called specifying an
       already initialized read-write lock.  Results are undefined if a	 read-
       write lock is used without first being  initialized.

       If the  pthread_rwlock_init() function fails, rwlock is not initialized
       and the contents of  rwlock are undefined.

       The pthread_rwlock_destroy()  function  destroys	 the  read-write  lock
       object  referenced  by  rwlock  and  releases any resources used by the
       lock.  The effect of subsequent use of the lock is undefined until  the
       lock   is  re-initialized  by another call to pthread_rwlock_init(). An
       implementation may cause	 pthread_rwlock_destroy() to  set  the	object
       referenced  by  rwlock  to  an invalid value.  Results are undefined if
       pthread_rwlock_destroy()	 is  called  when  any	thread	holds  rwlock.
       Attempting  to  destroy	an  uninitialized   read-write lock results in
       undefined behaviour.  A destroyed read-write lock object can be re-ini‐
       tialized	 using	pthread_rwlock_init(); the results of otherwise refer‐
       encing the read-write lock object after	it   has  been	destroyed  are
       undefined.

       In  cases where default read-write lock attributes are appropriate, the
       macro PTHREAD_RWLOCK_INITIALIZER can be used to	initialize  read-write
       locks  that  are	 statically  allocated.	  The  effect is equivalent to
       dynamic initialization by a call	 to   pthread_rwlock_init()  with  the
       parameter attr specified as NULL, except that no error  checks are per‐
       formed.

RETURN VALUES
       If successful, the  pthread_rwlock_init() and  pthread_rwlock_destroy()
       functions  return   0. Otherwise, an  error number is returned to indi‐
       cate the error.

ERRORS
       The pthread_rwlock_init() and  pthread_rwlock_destroy() functions  will
       fail if:

       EINVAL
		 The value specified by attr is invalid.

       EINVAL
		 The value specified by rwlock is invalid.

ATTRIBUTES
       See attributes(5) for descriptions of the following attributes:

       ┌────────────────────┬─────────────────┐
       │  ATTRIBUTE TYPE    │ ATTRIBUTE VALUE │
       ├────────────────────┼─────────────────┤
       │Interface Stability │ Standard	      │
       ├────────────────────┼─────────────────┤
       │MT-Level	    │ MT-Safe	      │
       └────────────────────┴─────────────────┘

SEE ALSO
       pthread_rwlock_rdlock(3C),		    pthread_rwlock_unlock(3C),
       pthread_rwlock_wrlock(3C), pthread_rwlockattr_init(3C),	attributes(5),
       standards(5)

				 Mar 23, 2005	       PTHREAD_RWLOCK_INIT(3C)
[top]

List of man pages available for SmartOS

Copyright (c) for man pages and the logo by the respective OS vendor.

For those who want to learn more, the polarhome community provides shell access and support.

[legal] [privacy] [GNU] [policy] [cookies] [netiquette] [sponsors] [FAQ]
Tweet
Polarhome, production since 1999.
Member of Polarhome portal.
Based on Fawad Halim's script.
....................................................................
Vote for polarhome
Free Shell Accounts :: the biggest list on the net