Index: head/share/man/man3/pthread_barrierattr.3 =================================================================== --- head/share/man/man3/pthread_barrierattr.3 (revision 301076) +++ head/share/man/man3/pthread_barrierattr.3 (revision 301077) @@ -1,146 +1,135 @@ .\" Copyright (c) 2004 Michael Telahun Makonnen .\" All rights reserved. .\" .\" Redistribution and use in source and binary forms, with or without .\" modification, are permitted provided that the following conditions .\" are met: .\" 1. Redistributions of source code must retain the above copyright .\" notice, this list of conditions and the following disclaimer. .\" 2. Redistributions in binary form must reproduce the above copyright .\" notice, this list of conditions and the following disclaimer in the .\" documentation and/or other materials provided with the distribution. .\" .\" THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND .\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE .\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE .\" ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE .\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL .\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS .\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) .\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT .\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF .\" SUCH DAMAGE. .\" .\" $FreeBSD$ .\" -.Dd February 19, 2004 +.Dd May 31, 2016 .Dt PTHREAD_BARRIERATTR 3 .Os .Sh NAME .Nm pthread_barrierattr_destroy , pthread_barrierattr_getpshared , .Nm pthread_barrierattr_init , pthread_barrierattr_setpshared .Nd "manipulate a barrier attribute object" .Sh LIBRARY .Lb libpthread .Sh SYNOPSIS .In pthread.h .Ft int .Fn pthread_barrierattr_destroy "pthread_barrierattr_t *attr" .Ft int .Fn pthread_barrierattr_getpshared "const pthread_barrierattr_t *attr" "int *pshared" .Ft int .Fn pthread_barrierattr_init "pthread_barrierattr_t *attr" .Ft int .Fn pthread_barrierattr_setpshared "pthread_barrierattr_t *attr" "int pshared" .Sh DESCRIPTION The .Fn pthread_barrierattr_init function will initialize .Fa attr with default attributes. The .Fn pthread_barrierattr_destroy function will destroy .Fa attr and release any resources that may have been allocated on its behalf. .Pp The .Fn pthread_barrierattr_getpshared function will put the value of the process-shared attribute from .Fa attr into the memory area pointed to by .Fa pshared . The .Fn pthread_barrierattr_setpshared function will set the process-shared attribute of .Fa attr to the value specified in .Fa pshared . The argument .Fa pshared may have one of the following values: .Bl -tag -width ".Dv PTHREAD_PROCESS_PRIVATE" .It Dv PTHREAD_PROCESS_PRIVATE The barrier object it is attached to may only be accessed by threads in the same process as the one that created the object. .It Dv PTHREAD_PROCESS_SHARED The barrier object it is attached to may be accessed by threads in processes other than the one that created the object. .El .Sh RETURN VALUES If successful, all these functions will return zero. Otherwise, an error number will be returned to indicate the error. .Pp None of these functions will return .Er EINTR . .Sh ERRORS The .Fn pthread_barrierattr_destroy , .Fn pthread_barrierattr_getpshared and .Fn pthread_barrierattr_setpshared functions may fail if: .Bl -tag -width Er .It Bq Er EINVAL The value specified by .Fa attr is invalid. .El .Pp The .Fn pthread_barrierattr_init function will fail if: .Bl -tag -width Er .It Bq Er ENOMEM Insufficient memory to initialize the barrier attribute object .Fa attr . .El .Pp The .Fn pthread_barrierattr_setpshared function will fail if: .Bl -tag -width Er .It Bq Er EINVAL The value specified in .Fa pshared is not one of the allowed values. .El .Sh SEE ALSO .Xr pthread_barrier_destroy 3 , .Xr pthread_barrier_init 3 , .Xr pthread_barrier_wait 3 .Sh HISTORY The .Fn pthread_barrierattr_* functions first appeared in .Lb libkse in .Fx 5.2 , and in .Lb libthr in .Fx 5.3 . -.Sh BUGS -The implementation of -barriers -does not fully conform to -.St -p1003.2 -because the process-shared attribute is ignored in -.Lb libthr ; -if any value other than -.Dv PTHREAD_PROCESS_PRIVATE -is specified in a call to -.Fn pthread_barrierattr_setpshared , -it will return -.Er EINVAL . +Support for process-shared barriers appeared in +.Fx 11.0 . Index: head/share/man/man3/pthread_condattr.3 =================================================================== --- head/share/man/man3/pthread_condattr.3 (revision 301076) +++ head/share/man/man3/pthread_condattr.3 (revision 301077) @@ -1,174 +1,162 @@ .\" Copyright (C) 2000 Jason Evans . .\" All rights reserved. .\" .\" Redistribution and use in source and binary forms, with or without .\" modification, are permitted provided that the following conditions .\" are met: .\" 1. Redistributions of source code must retain the above copyright .\" notice(s), this list of conditions and the following disclaimer as .\" the first lines of this file unmodified other than the possible .\" addition of one or more copyright notices. .\" 2. Redistributions in binary form must reproduce the above copyright .\" notice(s), this list of conditions and the following disclaimer in .\" the documentation and/or other materials provided with the .\" distribution. .\" .\" THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDER(S) ``AS IS'' AND ANY .\" EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE .\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR .\" PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER(S) BE .\" LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR .\" CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF .\" SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR .\" BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, .\" WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE .\" OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, .\" EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. .\" .\" $FreeBSD$ -.Dd May 9, 2010 +.Dd May 31, 2016 .Dt PTHREAD_CONDATTR 3 .Os .Sh NAME .Nm pthread_condattr_init , .Nm pthread_condattr_destroy , .Nm pthread_condattr_getclock , .Nm pthread_condattr_setclock , .Nm pthread_condattr_getpshared , .Nm pthread_condattr_setpshared .Nd condition attribute operations .Sh LIBRARY .Lb libpthread .Sh SYNOPSIS .In pthread.h .Ft int .Fn pthread_condattr_init "pthread_condattr_t *attr" .Ft int .Fn pthread_condattr_destroy "pthread_condattr_t *attr" .Ft int .Fn pthread_condattr_getclock "pthread_condattr_t * restrict attr" "clock_t * restrict clock_id" .Ft int .Fn pthread_condattr_setclock "pthread_condattr_t *attr" "clock_t clock_id" .Ft int .Fn pthread_condattr_getpshared "pthread_condattr_t * restrict attr" "int * restrict pshared" .Ft int .Fn pthread_condattr_setpshared "pthread_condattr_t *attr" "int pshared" .Sh DESCRIPTION Condition attribute objects are used to specify parameters to .Fn pthread_cond_init . .Pp The .Fn pthread_condattr_init function initializes a condition attribute object with the default attributes. .Pp The .Fn pthread_condattr_destroy function destroys a condition attribute object. .Pp The .Fn pthread_condattr_getclock function will put the value of the clock attribute from .Fa attr into the memory area pointed to by .Fa clock_id . The .Fn pthread_condattr_setclock function will set the clock attribute of .Fa attr to the value specified in .Fa clock_id . The clock attribute affects the interpretation of .Fa abstime in .Xr pthread_cond_timedwait 3 and may be set to .Dv CLOCK_REALTIME (default) or .Dv CLOCK_MONOTONIC . .Pp The .Fn pthread_condattr_getpshared function will put the value of the process-shared attribute from .Fa attr into the memory area pointed to by .Fa pshared . The .Fn pthread_condattr_setpshared function will set the process-shared attribute of .Fa attr to the value specified in .Fa pshared . The argument .Fa pshared may have one of the following values: .Bl -tag -width ".Dv PTHREAD_PROCESS_PRIVATE" .It Dv PTHREAD_PROCESS_PRIVATE The condition variable it is attached to may only be accessed by threads in the same process as the one that created the object. .It Dv PTHREAD_PROCESS_SHARED The condition variable it is attached to may be accessed by threads in processes other than the one that created the object. .El .Sh RETURN VALUES If successful, these functions return 0. Otherwise, an error number is returned to indicate the error. .Sh ERRORS The .Fn pthread_condattr_init function will fail if: .Bl -tag -width Er .It Bq Er ENOMEM Out of memory. .El .Pp The .Fn pthread_condattr_destroy function will fail if: .Bl -tag -width Er .It Bq Er EINVAL Invalid value for .Fa attr . .El .Pp The .Fn pthread_condattr_setclock function will fail if: .Bl -tag -width Er .It Bq Er EINVAL The value specified in .Fa clock_id is not one of the allowed values. .El .Pp The .Fn pthread_condattr_setpshared function will fail if: .Bl -tag -width Er .It Bq Er EINVAL The value specified in .Fa pshared is not one of the allowed values. .El .Sh SEE ALSO .Xr pthread_cond_init 3 , .Xr pthread_cond_timedwait 3 .Sh STANDARDS The .Fn pthread_condattr_init and .Fn pthread_condattr_destroy functions conform to .St -p1003.1-96 -.Sh BUGS -The implementation of -condition variables -does not fully conform to -.St -p1003.2 -because the process-shared attribute is ignored; -if any value other than -.Dv PTHREAD_PROCESS_PRIVATE -is specified in a call to -.Fn pthread_condattr_setpshared , -it will return -.Er EINVAL . Index: head/share/man/man3/pthread_rwlock_init.3 =================================================================== --- head/share/man/man3/pthread_rwlock_init.3 (revision 301076) +++ head/share/man/man3/pthread_rwlock_init.3 (revision 301077) @@ -1,102 +1,100 @@ .\" Copyright (c) 1998 Alex Nash .\" All rights reserved. .\" .\" Redistribution and use in source and binary forms, with or without .\" modification, are permitted provided that the following conditions .\" are met: .\" 1. Redistributions of source code must retain the above copyright .\" notice, this list of conditions and the following disclaimer. .\" 2. Redistributions in binary form must reproduce the above copyright .\" notice, this list of conditions and the following disclaimer in the .\" documentation and/or other materials provided with the distribution. .\" .\" THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND .\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE .\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE .\" ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE .\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL .\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS .\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) .\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT .\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF .\" SUCH DAMAGE. .\" .\" $FreeBSD$ .\" -.Dd August 4, 1998 +.Dd May 31, 2016 .Dt PTHREAD_RWLOCK_INIT 3 .Os .Sh NAME .Nm pthread_rwlock_init .Nd initialize a read/write lock .Sh LIBRARY .Lb libpthread .Sh SYNOPSIS .In pthread.h .Ft int .Fn pthread_rwlock_init "pthread_rwlock_t *lock" "const pthread_rwlockattr_t *attr" .Sh DESCRIPTION The .Fn pthread_rwlock_init function is used to initialize a read/write lock, with attributes specified by .Fa attr . If .Fa attr is NULL, the default read/write lock attributes are used. .Pp The results of calling .Fn pthread_rwlock_init with an already initialized lock are undefined. .Sh RETURN VALUES If successful, the .Fn pthread_rwlock_init function will return zero. Otherwise an error number will be returned to indicate the error. .Sh ERRORS The .Fn pthread_rwlock_init function will fail if: .Bl -tag -width Er .It Bq Er EAGAIN The system lacked the necessary resources (other than memory) to initialize the lock. .It Bq Er ENOMEM Insufficient memory exists to initialize the lock. .It Bq Er EPERM The caller does not have sufficient privilege to perform the operation. .El .Pp The .Fn pthread_rwlock_init function may fail if: .Bl -tag -width Er .It Bq Er EBUSY The system has detected an attempt to re-initialize the object referenced by .Fa lock , a previously initialized but not yet destroyed read/write lock. .It Bq Er EINVAL The value specified by .Fa attr is invalid. .El .Sh SEE ALSO .Xr pthread_rwlock_destroy 3 , .Xr pthread_rwlockattr_init 3 , .Xr pthread_rwlockattr_setpshared 3 .Sh STANDARDS The .Fn pthread_rwlock_init function is expected to conform to .St -susv2 . .Sh HISTORY The .Fn pthread_rwlock_init function first appeared in .Fx 3.0 . -.Sh BUGS -The PTHREAD_PROCESS_SHARED attribute is not supported. Index: head/share/man/man3/pthread_rwlockattr_setpshared.3 =================================================================== --- head/share/man/man3/pthread_rwlockattr_setpshared.3 (revision 301076) +++ head/share/man/man3/pthread_rwlockattr_setpshared.3 (revision 301077) @@ -1,94 +1,92 @@ .\" Copyright (c) 1998 Alex Nash .\" All rights reserved. .\" .\" Redistribution and use in source and binary forms, with or without .\" modification, are permitted provided that the following conditions .\" are met: .\" 1. Redistributions of source code must retain the above copyright .\" notice, this list of conditions and the following disclaimer. .\" 2. Redistributions in binary form must reproduce the above copyright .\" notice, this list of conditions and the following disclaimer in the .\" documentation and/or other materials provided with the distribution. .\" .\" THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND .\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE .\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE .\" ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE .\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL .\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS .\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) .\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT .\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF .\" SUCH DAMAGE. .\" .\" $FreeBSD$ .\" -.Dd August 4, 1998 +.Dd May 31, 2016 .Dt PTHREAD_RWLOCKATTR_SETPSHARED 3 .Os .Sh NAME .Nm pthread_rwlockattr_setpshared .Nd set the process shared attribute .Sh LIBRARY .Lb libpthread .Sh SYNOPSIS .In pthread.h .Ft int .Fn pthread_rwlockattr_setpshared "pthread_rwlockattr_t *attr" "int pshared" .Sh DESCRIPTION The .Fn pthread_rwlockattr_setpshared function sets the process shared attribute of .Fa attr to the value referenced by .Fa pshared . The .Fa pshared argument may be one of two values: .Bl -tag -width PTHREAD_PROCESS_PRIVATE .It Dv PTHREAD_PROCESS_SHARED Any thread of any process that has access to the memory where the read/write lock resides can manipulate the lock. .It Dv PTHREAD_PROCESS_PRIVATE Only threads created within the same process as the thread that initialized the read/write lock can manipulate the lock. This is the default value. .El .Sh RETURN VALUES If successful, the .Fn pthread_rwlockattr_setpshared function will return zero. Otherwise an error number will be returned to indicate the error. .Sh ERRORS The .Fn pthread_rwlockattr_setpshared function will fail if: .Bl -tag -width Er .It Bq Er EINVAL The value specified by .Fa attr or .Fa pshared is invalid. .El .Sh SEE ALSO .Xr pthread_rwlock_init 3 , .Xr pthread_rwlockattr_getpshared 3 , .Xr pthread_rwlockattr_init 3 .Sh STANDARDS The .Fn pthread_rwlockattr_setpshared function is expected to conform to .St -susv2 . .Sh HISTORY The .Fn pthread_rwlockattr_setpshared function first appeared in .Fx 3.0 . -.Sh BUGS -The -.Dv PTHREAD_PROCESS_SHARED -attribute is not supported. +Support for process-shared read/write locks appeared in +.Fx 11.0 . Index: head/share/man/man3/pthread_spin_init.3 =================================================================== --- head/share/man/man3/pthread_spin_init.3 (revision 301076) +++ head/share/man/man3/pthread_spin_init.3 (revision 301077) @@ -1,136 +1,125 @@ .\" Copyright (c) 2004 Michael Telahun Makonnen .\" All rights reserved. .\" .\" Redistribution and use in source and binary forms, with or without .\" modification, are permitted provided that the following conditions .\" are met: .\" 1. Redistributions of source code must retain the above copyright .\" notice, this list of conditions and the following disclaimer. .\" 2. Redistributions in binary form must reproduce the above copyright .\" notice, this list of conditions and the following disclaimer in the .\" documentation and/or other materials provided with the distribution. .\" .\" THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND .\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE .\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE .\" ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE .\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL .\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS .\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) .\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT .\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF .\" SUCH DAMAGE. .\" .\" $FreeBSD$ .\" -.Dd January 22, 2004 +.Dd May 31, 2016 .Dt PTHREAD_SPIN_INIT 3 .Os .Sh NAME .Nm pthread_spin_init , pthread_spin_destroy .Nd "initialize or destroy a spin lock" .Sh LIBRARY .Lb libpthread .Sh SYNOPSIS .In pthread.h .Ft int .Fn pthread_spin_init "pthread_spinlock_t *lock" "int pshared" .Ft int .Fn pthread_spin_destroy "pthread_spinlock_t *lock" .Sh DESCRIPTION The .Fn pthread_spin_init function will initialize .Fa lock to an unlocked state and allocate any resources necessary to begin using it. If .Fa pshared is set to .Dv PTHREAD_PROCESS_SHARED , any thread, whether belonging to the process in which the spinlock was created or not, that has access to the memory area where .Fa lock resides, can use .Fa lock . If it is set to .Dv PTHREAD_PROCESS_PRIVATE , it can only be used by threads within the same process. .Pp The .Fn pthread_spin_destroy function will destroy .Fa lock and release any resources that may have been allocated on its behalf. .Sh RETURN VALUES If successful, both .Fn pthread_spin_init and .Fn pthread_spin_destroy will return zero. Otherwise, an error number will be returned to indicate the error. .Pp Neither of these functions will return .Er EINTR . .Sh ERRORS The .Fn pthread_spin_init and .Fn pthread_spin_destroy functions will fail if: .Bl -tag -width Er .It Bq Er EBUSY An attempt to initialize or destroy .Fa lock while it is in use. .It Bq Er EINVAL The value specified by .Fa lock is invalid. .El .Pp The .Fn pthread_spin_init function will fail if: .Bl -tag -width Er .It Bq Er EAGAIN Insufficient resources, other than memory, to initialize .Fa lock . .It Bq Er ENOMEM Insufficient memory to initialize .Fa lock . .El .Sh SEE ALSO .Xr pthread_spin_lock 3 , .Xr pthread_spin_unlock 3 .Sh HISTORY The .Fn pthread_spin_init and .Fn pthread_spin_destroy functions first appeared in .Lb libkse in .Fx 5.2 , and in .Lb libthr in .Fx 5.3 . -.Sh BUGS -The implementation of -.Fn pthread_spin_init -does not fully conform to -.St -p1003.2 -because the -.Fa pshared -argument is ignored in -.Lb libthr ; -if any value other than -.Dv PTHREAD_PROCESS_PRIVATE -is specified, it returns -.Er EINVAL . +Support for process-shared spinlocks appeared in +.Fx 11.0 .