summaryrefslogtreecommitdiff
path: root/usr/src/man/man5/condition.5
diff options
context:
space:
mode:
Diffstat (limited to 'usr/src/man/man5/condition.5')
-rw-r--r--usr/src/man/man5/condition.5141
1 files changed, 0 insertions, 141 deletions
diff --git a/usr/src/man/man5/condition.5 b/usr/src/man/man5/condition.5
deleted file mode 100644
index 1282ea26e8..0000000000
--- a/usr/src/man/man5/condition.5
+++ /dev/null
@@ -1,141 +0,0 @@
-.\"
-.\" Sun Microsystems, Inc. gratefully acknowledges The Open Group for
-.\" permission to reproduce portions of its copyrighted documentation.
-.\" Original documentation from The Open Group can be obtained online at
-.\" http://www.opengroup.org/bookstore/.
-.\"
-.\" The Institute of Electrical and Electronics Engineers and The Open
-.\" Group, have given us permission to reprint portions of their
-.\" documentation.
-.\"
-.\" In the following statement, the phrase ``this text'' refers to portions
-.\" of the system documentation.
-.\"
-.\" Portions of this text are reprinted and reproduced in electronic form
-.\" in the SunOS Reference Manual, from IEEE Std 1003.1, 2004 Edition,
-.\" Standard for Information Technology -- Portable Operating System
-.\" Interface (POSIX), The Open Group Base Specifications Issue 6,
-.\" Copyright (C) 2001-2004 by the Institute of Electrical and Electronics
-.\" Engineers, Inc and The Open Group. In the event of any discrepancy
-.\" between these versions 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.opengroup.org/unix/online.html.
-.\"
-.\" This notice shall appear on any product containing this material.
-.\"
-.\" The contents of this file are subject to the terms of the
-.\" Common Development and Distribution License (the "License").
-.\" You may not use this file except in compliance with the License.
-.\"
-.\" You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
-.\" or http://www.opensolaris.org/os/licensing.
-.\" See the License for the specific language governing permissions
-.\" and limitations under the License.
-.\"
-.\" When distributing Covered Code, include this CDDL HEADER in each
-.\" file and include the License file at usr/src/OPENSOLARIS.LICENSE.
-.\" If applicable, add the following below this CDDL HEADER, with the
-.\" fields enclosed by brackets "[]" replaced with your own identifying
-.\" information: Portions Copyright [yyyy] [name of copyright owner]
-.\"
-.\"
-.\" Portions Copyright (c) 1995 IEEE All Rights Reserved
-.\" Copyright (c) 1998 Sun Microsystems, Inc. All Rights Reserved.
-.\" Copyright (c) 2001, The IEEE and The Open Group. All Rights Reserved.
-.\"
-.TH CONDITION 5 "May 16, 2020"
-.SH NAME
-condition \- concepts related to condition variables
-.SH DESCRIPTION
-Occasionally, a thread running within a mutex needs to wait for an event, in
-which case it blocks or sleeps. When a thread is waiting for another thread to
-communicate its disposition, it uses a condition variable in conjunction with a
-mutex. Although a mutex is exclusive and the code it protects is sharable (at
-certain moments), condition variables enable the synchronization of differing
-events that share a mutex, but not necessarily data. Several condition
-variables may be used by threads to signal each other when a task is complete,
-which then allows the next waiting thread to take ownership of the mutex.
-.sp
-.LP
-A condition variable enables threads to atomically block and test the condition
-under the protection of a mutual exclusion lock (mutex) until the condition is
-satisfied. If the condition is false, a thread blocks on a condition variable
-and atomically releases the mutex that is waiting for the condition to change.
-If another thread changes the condition, it may wake up waiting threads by
-signaling the associated condition variable. The waiting threads, upon
-awakening, reacquire the mutex and re-evaluate the condition.
-.SS "Initialize"
-Condition variables and mutexes should be global. Condition variables that are
-allocated in writable memory can synchronize threads among processes if they
-are shared by the cooperating processes (see \fBmmap\fR(2)) and are initialized
-for this purpose.
-.sp
-.LP
-The scope of a condition variable is either intra-process or inter-process.
-This is dependent upon whether the argument is passed implicitly or explicitly
-to the initialization of that condition variable. A condition variable does
-not need to be explicitly initialized. A condition variable is initialized with
-all zeros, by default, and its scope is set to within the calling process. For
-inter-process synchronization, a condition variable must be initialized once,
-and only once, before use.
-.sp
-.LP
-A condition variable must not be simultaneously initialized by multiple threads
-or re-initialized while in use by other threads.
-.sp
-.LP
-Condition variables attributes may be set to the default or customized at
-initialization. POSIX threads even allow the default values to be customized.
-Establishing these attributes varies depending upon whether POSIX or Solaris
-threads are used. Similar to the distinctions between POSIX and Solaris thread
-creation, POSIX condition variables implement the default, intra-process,
-unless an attribute object is modified for inter-process prior to the
-initialization of the condition variable. Solaris condition variables also
-implement as the default, intra-process; however, they set this attribute
-according to the argument, \fItype\fR, passed to their initialization function.
-.SS "Condition Wait"
-The condition wait interface allows a thread to wait for a condition and
-atomically release the associated mutex that it needs to hold to check the
-condition. The thread waits for another thread to make the condition true and
-that thread's resulting call to signal and wakeup the waiting thread.
-.SS "Condition Signaling"
-A condition signal allows a thread to unblock the next thread waiting on the
-condition variable, whereas, a condition broadcast allows a thread to unblock
-all threads waiting on the condition variable.
-.SS "Destroy"
-The condition destroy functions destroy any state, but not the space,
-associated with the condition variable.
-.SH ATTRIBUTES
-See \fBattributes\fR(5) for descriptions of the following attributes:
-.sp
-
-.sp
-.TS
-box;
-c | c
-l | l .
-ATTRIBUTE TYPE ATTRIBUTE VALUE
-_
-MT-Level MT-Safe
-.TE
-
-.SH SEE ALSO
-\fBfork\fR(2), \fBmmap\fR(2), \fBsetitimer\fR(2), \fBshmop\fR(2),
-\fBcond_broadcast\fR(3C), \fBcond_destroy\fR(3C), \fBcond_init\fR(3C),
-\fBcond_signal\fR(3C), \fBcond_timedwait\fR(3C), \fBcond_wait\fR(3C),
-\fBpthread_cond_broadcast\fR(3C), \fBpthread_cond_destroy\fR(3C),
-\fBpthread_cond_init\fR(3C), \fBpthread_cond_signal\fR(3C),
-\fBpthread_cond_timedwait\fR(3C), \fBpthread_cond_wait\fR(3C),
-\fBpthread_condattr_init\fR(3C), \fBsignal\fR(3C), \fBattributes\fR(5),
-\fBmutex\fR(5), \fBstandards\fR(5)
-.SH NOTES
-If more than one thread is blocked on a condition variable, the order in which
-threads are unblocked is determined by the scheduling policy.
-.sp
-.LP
-\fBUSYNC_THREAD\fR does not support multiple mappings to the same logical
-synch object. If you need to \fBmmap()\fR a synch object to different locations
-within the same address space, then the synch object should be initialized as a
-shared object \fBUSYNC_PROCESS\fR for Solaris, and
-\fBPTHREAD_PROCESS_PRIVATE\fR for POSIX.