pthread_condattr_destroy manpage

Search topic Section


       This  manual  page is part of the POSIX Programmer's Manual.  The Linux
       implementation of this interface may differ (consult the	 corresponding
       Linux  manual page for details of Linux behavior), or the interface may
       not be implemented on Linux.

       pthread_condattr_destroy, pthread_condattr_init -- destroy and initial-
       ize the condition variable attributes object

       #include <pthread.h>

       int pthread_condattr_destroy(pthread_condattr_t *attr);
       int pthread_condattr_init(pthread_condattr_t *attr);

       The pthread_condattr_destroy() function shall destroy a condition vari-
       able attributes object; the object becomes, in  effect,	uninitialized.
       An  implementation  may	cause  pthread_condattr_destroy()  to  set the
       object referenced by  attr  to  an  invalid  value.  A  destroyed  attr
       attributes  object  can be reinitialized using pthread_condattr_init();
       the results of otherwise referencing  the  object  after	 it  has  been
       destroyed are undefined.

       The pthread_condattr_init() function shall initialize a condition vari-
       able attributes object attr with the  default  value  for  all  of  the
       attributes defined by the implementation.

       Results	are  undefined if pthread_condattr_init() is called specifying
       an already initialized attr attributes object.

       After a condition variable attributes object has been used to  initial-
       ize  one	 or  more  condition  variables,  any  function	 affecting the
       attributes object (including destruction) shall not affect  any	previ-
       ously initialized condition variables.

       This   volume  of  POSIX.1-2008	requires  two  attributes,  the	 clock
       attribute and the process-shared attribute.

       Additional attributes, their default values, and the names of the asso-
       ciated  functions to get and set those attribute values are implementa-

       The behavior is undefined if the value specified by the	attr  argument
       to  pthread_condattr_destroy()  does not refer to an initialized condi-
       tion variable attributes object.

       If  successful,	 the   pthread_condattr_destroy()   and	  pthread_con-
       dattr_init()  functions	shall  return zero; otherwise, an error number
       shall be returned to indicate the error.

       The pthread_condattr_init() function shall fail if:

       ENOMEM Insufficient memory exists to initialize the condition  variable
	      attributes object.

       These functions shall not return an error code of [EINTR].

       The following sections are informative.



       A process-shared attribute has been defined for condition variables for
       the same reason it has been defined for mutexes.

       If an implementation detects that the value specified by the attr argu-
       ment  to	 pthread_condattr_destroy()  does  not refer to an initialized
       condition variable attributes object, it is recommended that the	 func-
       tion should fail and report an [EINVAL] error.

       See also pthread_attr_destroy() and pthread_mutex_destroy().


       pthread_attr_destroy(), pthread_cond_destroy(), pthread_condattr_getp-
       shared(), pthread_create(), pthread_mutex_destroy()

       The Base Definitions volume of POSIX.1-2008, <pthread.h>

       Portions of this text are reprinted and reproduced in  electronic  form
       from IEEE Std 1003.1, 2013 Edition, Standard for Information Technology
       -- Portable Operating System Interface (POSIX),	The  Open  Group  Base
       Specifications Issue 7, Copyright (C) 2013 by the Institute of Electri-
       cal and Electronics Engineers,  Inc  and	 The  Open  Group.   (This  is
       POSIX.1-2008  with  the	2013  Technical Corrigendum 1 applied.) In the
       event of any discrepancy between this version and the original IEEE and
       The  Open Group Standard, the original IEEE and The Open Group Standard
       is the referee document. The original Standard can be  obtained	online
       at http://www.unix.org/online.html .

       Any  typographical  or  formatting  errors that appear in this page are
       most likely to have been introduced during the conversion of the source
       files  to  man page format. To report such errors, see https://www.ker-
       nel.org/doc/man-pages/reporting_bugs.html .

IEEE/The Open Group		     2013	  PTHREAD_CONDATTR_DESTROY(3P)