Module Name: src
Committed By: jruoho
Date: Thu Jul 8 06:47:50 UTC 2010
Modified Files:
src/lib/libpthread: pthread_attr.3
Log Message:
Rewrite and include a short summary.
To generate a diff of this commit:
cvs rdiff -u -r1.18 -r1.19 src/lib/libpthread/pthread_attr.3
Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.
Modified files:
Index: src/lib/libpthread/pthread_attr.3
diff -u src/lib/libpthread/pthread_attr.3:1.18 src/lib/libpthread/pthread_attr.3:1.19
--- src/lib/libpthread/pthread_attr.3:1.18 Wed Jul 7 16:22:30 2010
+++ src/lib/libpthread/pthread_attr.3 Thu Jul 8 06:47:49 2010
@@ -1,6 +1,6 @@
-.\" $NetBSD: pthread_attr.3,v 1.18 2010/07/07 16:22:30 jruoho Exp $
+.\" $NetBSD: pthread_attr.3,v 1.19 2010/07/08 06:47:49 jruoho Exp $
.\"
-.\" Copyright (c) 2002 The NetBSD Foundation, Inc.
+.\" Copyright (c) 2002, 2010 The NetBSD Foundation, Inc.
.\" All rights reserved.
.\"
.\" Redistribution and use in source and binary forms, with or without
@@ -53,7 +53,7 @@
.\"
.\" $FreeBSD: src/lib/libpthread/man/pthread_attr.3,v 1.11 2002/09/16 19:29:28 mini Exp $
.\"
-.Dd October 6, 2009
+.Dd July 8, 2010
.Dt PTHREAD_ATTR 3
.Os
.Sh NAME
@@ -73,53 +73,83 @@
.Fn pthread_create .
One attribute object can be used in multiple calls to
.Fn pthread_create ,
-with or without modifications between calls.
+with or without modifications between the calls.
+The
+.Vt pthread_attr_t
+type is an opaque representation of the thread attributes;
+any access to the object other than via the described
+.Fn pthread_attr_*
+functions may result undefined behavior.
.Pp
The
.Fn pthread_attr_init
function initializes
.Fa attr
-with all the default thread attributes.
+with the default thread attributes used in the implementation.
+Depending on the implementation, undefined behavior may follow
+if an uninitialized thread attribute object is used with some of
+the thread attribute functions.
+It is therefore a good practice to always use
+.Fn pthread_attr_init ,
+even if this might be unnecessary.
+Undefined behavior may also follow if an already initialized
+.Fa attr
+is used with
+.Fn pthread_attr_init .
.Pp
-The
-.Fn pthread_attr_destroy
-function destroys
-.Fa attr .
+When the attribute object is no longer needed,
+it should be destroyed by using
+.Fn pthread_attr_destroy .
+The function has no effect on threads that
+were created by using a given attribute object.
+A destroyed
+.Fa attr
+can be reinitialized using
+.Fn pthread_attr_init ,
+but all other actions with the destroyed object are unspecified.
.Pp
-The
-.Fn pthread_attr_set*
-functions set the attribute that corresponds to each function name.
+The following standard thread attribute functions are available:
+.Bl -column -offset indent "pthread_attr_getinheritsched " "XXX"
+.It Sy Function Ta Sy Description
+.It Xr pthread_attr_getdetachstate 3 Ta thread detach state
+.It Xr pthread_attr_getguardsize 3 Ta thread guard size
+.It Xr pthread_attr_getinheritsched 3 Ta inherit scheduler attribute
+.It Xr pthread_attr_getschedparam 3 Ta thread scheduling parameter
+.It Xr pthread_attr_getschedpolicy 3 Ta thread scheduling policy
+.It Xr pthread_attr_getscope 3 Ta thread contention scope
+.It Xr pthread_attr_getstack 3 Ta thread stack
+.It Xr pthread_attr_getstacksize 3 Ta thread stack size
+.It Xr pthread_attr_getstackaddr 3 Ta thread stack address
+.El
.Pp
-The
+Each listed
.Fn pthread_attr_get*
-functions copy the value of the attribute that corresponds to each function name
-to the location pointed to by the second function parameter.
+function contains a
+.Fn pthread_attr_set*
+counterpart.
+In addition, the following
+.Nx
+specific extensions are available:
+.Bl -column -offset indent "pthread_attr_getinheritsched " "XXX"
+.It Sy Function Ta Sy Description
+.It Xr pthread_attr_get_np 3 Ta attributes of a running thread
+.It Xr pthread_attr_getname_np 3 Ta descriptive name of an attribute
+.El
.Sh RETURN VALUES
If successful, these functions return 0.
Otherwise, an error number is returned to indicate the error.
.Sh ERRORS
+No errors are defined for
.Fn pthread_attr_init
-may fail if:
-.Bl -tag -width Er
-.It Bq Er ENOMEM
-Out of memory.
-.El
-.Pp
-.Fn pthread_attr_destroy
-may fail if:
-.Bl -tag -width Er
-.It Bq Er EINVAL
-The value specified by
-.Fa attr
-is invalid.
-.El
+and
+.Fn pthread_attr_destroy .
.Sh SEE ALSO
.Xr pthread_create 3 ,
.Xr pthread_join 3
.Sh STANDARDS
-The
+Both
.Fn pthread_attr_init
and
.Fn pthread_attr_destroy
-functions conform to
+conform to
.St -p1003.1-96 .