Unix/Linux Go Back    


Linux 2.6 - man page for pthread_barrier_destroy (linux section 3posix)

Linux & Unix Commands - Search Man Pages
Man Page or Keyword Search:   man
Select Man Page Set:       apropos Keyword Search (sections above)


PTHREAD_BARRIER_DESTROY(P)	    POSIX Programmer's Manual	       PTHREAD_BARRIER_DESTROY(P)

NAME
       pthread_barrier_destroy,  pthread_barrier_init  -  destroy and initialize a barrier object
       (ADVANCED REALTIME THREADS)

SYNOPSIS
       #include <pthread.h>

       int pthread_barrier_destroy(pthread_barrier_t *barrier);
       int pthread_barrier_init(pthread_barrier_t *restrict barrier,
	      const pthread_barrierattr_t *restrict attr, unsigned count);

DESCRIPTION
       The pthread_barrier_destroy() function shall destroy the barrier referenced by barrier and
       release	any resources used by the barrier. The effect of subsequent use of the barrier is
       undefined until the barrier is reinitialized by another call to pthread_barrier_init(). An
       implementation  may  use this function to set barrier to an invalid value. The results are
       undefined if pthread_barrier_destroy() is called when any thread is blocked  on	the  bar-
       rier, or if this function is called with an uninitialized barrier.

       The  pthread_barrier_init() function shall allocate any resources required to use the bar-
       rier referenced by barrier and shall initialize the barrier with attributes referenced  by
       attr.   If  attr  is NULL, the default barrier attributes shall be used; the effect is the
       same as passing the address of a default barrier attributes object. The results are  unde-
       fined  if pthread_barrier_init() is called when any thread is blocked on the barrier (that
       is, has not returned from the pthread_barrier_wait() call). The results are undefined if a
       barrier is used without first being initialized. The results are undefined if pthread_bar-
       rier_init() is called specifying an already initialized barrier.

       The count argument specifies the number of threads that must  call  pthread_barrier_wait()
       before  any  of them successfully return from the call.	The value specified by count must
       be greater than zero.

       If the pthread_barrier_init() function fails, the barrier shall not be initialized and the
       contents of barrier are undefined.

       Only  the  object  referenced  by  barrier may be used for performing synchronization. The
       result of referring to copies of that object  in  calls	to  pthread_barrier_destroy()  or
       pthread_barrier_wait() is undefined.

RETURN VALUE
       Upon  successful completion, these functions shall return zero; otherwise, an error number
       shall be returned to indicate the error.

ERRORS
       The pthread_barrier_destroy() function may fail if:

       EBUSY  The implementation has detected an attempt to destroy a barrier while it is in  use
	      (for example, while being used in a pthread_barrier_wait() call) by another thread.

       EINVAL The value specified by barrier is invalid.

       The pthread_barrier_init() function shall fail if:

       EAGAIN The system lacks the necessary resources to initialize another barrier.

       EINVAL The value specified by count is equal to zero.

       ENOMEM Insufficient memory exists to initialize the barrier.

       The pthread_barrier_init() function may fail if:

       EBUSY  The implementation has detected an attempt to reinitialize a barrier while it is in
	      use (for example, while being used in a  pthread_barrier_wait()  call)  by  another
	      thread.

       EINVAL The value specified by attr is invalid.

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

       The following sections are informative.

EXAMPLES
       None.

APPLICATION USAGE
       The  pthread_barrier_destroy() and pthread_barrier_init() functions are part of the Barri-
       ers option and need not be provided on all implementations.

RATIONALE
       None.

FUTURE DIRECTIONS
       None.

SEE ALSO
       pthread_barrier_wait() , the Base Definitions volume of IEEE Std 1003.1-2001, <pthread.h>

COPYRIGHT
       Portions of this text are reprinted and	reproduced  in	electronic  form  from	IEEE  Std
       1003.1,	2003  Edition,	Standard  for Information Technology -- Portable Operating System
       Interface (POSIX), The Open Group Base Specifications Issue 6, Copyright (C) 2001-2003  by
       the  Institute  of  Electrical  and  Electronics Engineers, Inc and The Open Group. 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 orig-
       inal Standard can be obtained online at http://www.opengroup.org/unix/online.html .

IEEE/The Open Group			       2003		       PTHREAD_BARRIER_DESTROY(P)
Unix & Linux Commands & Man Pages : ©2000 - 2018 Unix and Linux Forums


All times are GMT -4. The time now is 08:24 AM.