summaryrefslogtreecommitdiff
path: root/linuxthreads
diff options
context:
space:
mode:
authorUlrich Drepper <drepper@redhat.com>2000-11-08 21:20:06 +0000
committerUlrich Drepper <drepper@redhat.com>2000-11-08 21:20:06 +0000
commitd3d99893eeedbb681f6b9b76427c33129d69834d (patch)
tree104144f66e8fba0b8b8d1fd958b9df8bd2236c56 /linuxthreads
parenta1e88b9a2fe01ed6bb3ba749af7d98e89bb14d3f (diff)
downloadglibc-d3d99893eeedbb681f6b9b76427c33129d69834d.tar.gz
Update.
* catgets/gencat.c (main): Don't use exit() to avoid warnings with broken compilers. * include/features.h (__STDC_ISO_10646__): Correct value to be 200009L. Patch by Markus Kuhn <Markus.Kuhn@cl.cam.ac.uk>. 2000-11-08 H.J. Lu <hjl@gnu.org> * pwd/Versions (GLIBC_2.1.2): Add getpwnam_r. 2000-11-08 Jakub Jelinek <jakub@redhat.com> * string/bits/string2.h: Check if _USE_STRING_ARCH_ macros are defined, not _HAVE_STRING_ARCH_. * sysdeps/i386/bits/string.h (_USE_STRING_ARCH_memset, _USE_STRING_ARCH_strchr): Define. * sysdeps/i386/i486/bits/string.h (_USE_STRING_ARCH_memset, _USE_STRING_ARCH_strchr): Define. * sysdeps/sparc/bits/string.h: New file. 2000-11-08 Bruno Haible <haible@clisp.cons.org> * locale/C-translit.h.in: Tweak <U2014> result. * locale/C-translit.h: Regenerated. 2000-11-08 Ulrich Drepper <drepper@redhat.com> * posix/unistd.h: Add attribute((const)) to sysconf prototype.
Diffstat (limited to 'linuxthreads')
-rw-r--r--linuxthreads/ChangeLog11
-rw-r--r--linuxthreads/linuxthreads.texi75
2 files changed, 80 insertions, 6 deletions
diff --git a/linuxthreads/ChangeLog b/linuxthreads/ChangeLog
index 5bfee849b5..685f8ef04f 100644
--- a/linuxthreads/ChangeLog
+++ b/linuxthreads/ChangeLog
@@ -1,3 +1,10 @@
+2000-11-08 Bruce Mitchener <bruce@cubik.org>
+
+ * linuxthreads.texi: Add documentation for pthreads attributes
+ guardsize, stackaddr, stacksize, and stack. Fix typo in previous
+ patch. Document pthread_[sg]etconcurrency(). Mark
+ pthread_mutexattr_[sg]ettype() as POSIX rather than GNU.
+
2000-11-07 Ulrich Drepper <drepper@redhat.com>
* sysdeps/unix/sysv/linux/bits/posix_opt.h (_POSIX_MESSAGE_PASSING):
@@ -19,7 +26,7 @@
2000-10-29 Ulrich Drepper <drepper@redhat.com>
* attr.c (__pthread_attr_setguardsize): Don't round guardsize
- here. Reported by Bruce <bruce@puremagic.com>.
+ here. Reported by Bruce Mitchener <bruce@cubik.org>.
* linuxthreads.texi: Changes terminology to 'type' from 'kind' when
discussing mutexes. (As per the Unix98 name for the API.)
@@ -30,7 +37,7 @@
PTHREAD_MUTEXATTR_ADAPTIVE_NP.
Begins to introduce discussion of the ``timed'' mutex type. This
discussion is currently incomplete.
- Patch by Bruce <bruce@puremagic.com>.
+ Patch by Bruce Mitchener <bruce@cubik.org>.
2000-10-26 Kazumoto Kojima <kkojima@rr.iij4u.or.jp>
Yutaka Niibe <gniibe@chroot.org>
diff --git a/linuxthreads/linuxthreads.texi b/linuxthreads/linuxthreads.texi
index a3096b0c1f..1f2d1a2fac 100644
--- a/linuxthreads/linuxthreads.texi
+++ b/linuxthreads/linuxthreads.texi
@@ -181,10 +181,15 @@ left in an undefined state, and you must not use it again in a call to
any pthreads function until it has been reinitialized.
@end deftypefun
+@findex pthread_attr_setdetachstate
+@findex pthread_attr_setguardsize
@findex pthread_attr_setinheritsched
@findex pthread_attr_setschedparam
@findex pthread_attr_setschedpolicy
@findex pthread_attr_setscope
+@findex pthread_attr_setstack
+@findex pthread_attr_setstackaddr
+@findex pthread_attr_setstacksize
@comment pthread.h
@comment POSIX
@deftypefun int pthread_attr_setattr (pthread_attr_t *@var{obj}, int @var{value})
@@ -198,10 +203,15 @@ for the @var{attr} being modified, they will return the error code
below.
@end deftypefun
+@findex pthread_attr_getdetachstate
+@findex pthread_attr_getguardsize
@findex pthread_attr_getinheritsched
@findex pthread_attr_getschedparam
@findex pthread_attr_getschedpolicy
@findex pthread_attr_getscope
+@findex pthread_attr_getstack
+@findex pthread_attr_getstackaddr
+@findex pthread_attr_getstacksize
@comment pthread.h
@comment POSIX
@deftypefun int pthread_attr_getattr (const pthread_attr_t *@var{obj}, int *@var{value})
@@ -279,8 +289,45 @@ interpreted relative to the priorities of the other threads of the
process, regardless of the priorities of other processes.
@code{PTHREAD_SCOPE_PROCESS} is not supported in LinuxThreads. If you
-try to set the scope to this value @code{pthread_attr_setscope} will
+try to set the scope to this value, @code{pthread_attr_setscope} will
fail and return @code{ENOTSUP}.
+
+@item stackaddr
+Provide an address for an application managed stack. The size of the
+stack must be at least @code{PTHREAD_STACK_MIN}.
+
+@item stacksize
+Change the size of the stack created for the thread. The value defines
+the minimum stack size, in bytes.
+
+If the value exceeds the system's maximum stack size, or is smaller
+than @code{PTHREAD_STACK_MIN}, @code{pthread_attr_setstacksize} will
+fail and return @code{EINVAL}.
+
+@item stack
+Provide both the address and size of an application managed stack to
+use for the new thread. The base of the memory area is @var{stackaddr}
+with the size of the memory area, @var{stacksize}, measured in bytes.
+
+If the value of @var{stacksize} is less than @code{PTHREAD_STACK_MIN},
+or greater than the system's maximum stack size, or if the value of
+@var{stackaddr} lacks the proper alignment, @code{pthread_attr_setstack}
+will fail and return @code{EINVAL}.
+
+@item guardsize
+Change the minimum size in bytes of the guard area for the thread's
+stack. The default size is a single page. If this value is set, it
+will be rounded up to the nearest page size. If the value is set to 0,
+a guard area will not be created for this thread. The space allocated
+for the guard area is used to catch stack overflow. Therefore, when
+allocating large structures on the stack, a larger guard area may be
+required to catch a stack overflow.
+
+If the caller is managing their own stacks (if the @code{stackaddr}
+attribute has been set), then the @code{guardsize} attribute is ignored.
+
+If the value exceeds the @code{stacksize}, @code{pthread_atrr_setguardsize}
+will fail and return @code{EINVAL}.
@end table
@node Cancellation
@@ -722,9 +769,9 @@ The default mutex type is ``timed'', that is, @code{PTHREAD_MUTEX_TIMED_NP}.
@c This doesn't describe how a ``timed'' mutex behaves. FIXME
@comment pthread.h
-@comment GNU
+@comment POSIX
@deftypefun int pthread_mutexattr_settype (pthread_mutexattr_t *@var{attr}, int @var{type})
-@code{pthread_mutexattr_settyp3} sets the mutex type attribute in
+@code{pthread_mutexattr_settype} sets the mutex type attribute in
@var{attr} to the value specified by @var{type}.
If @var{type} is not @code{PTHREAD_MUTEX_ADAPTIVE_NP},
@@ -739,7 +786,7 @@ and @code{PTHREAD_MUTEX_ERRORCHECK} are also permitted.
@end deftypefun
@comment pthread.h
-@comment GNU
+@comment POSIX
@deftypefun int pthread_mutexattr_gettype (const pthread_mutexattr_t *@var{attr}, int *@var{type})
@code{pthread_mutexattr_gettype} retrieves the current value of the
mutex type attribute in @var{attr} and stores it in the location pointed
@@ -1561,3 +1608,23 @@ The @var{target_thread} is invalid or has already terminated.
@end table
@end deftypefun
+
+@comment pthread.h
+@comment POSIX
+@deftypefun int pthread_setconcurrency (int @var{level})
+@code{pthread_setconcurrency} is unused in LinuxThreads due to the lack
+of a mapping of user threads to kernel threads. It exists for source
+compatibility. It does store the value @var{level} so that it can be
+returned by a subsequent call to @code{pthread_getconcurrency}. It takes
+no other action however.
+@end deftypefun
+
+@comment pthread.h
+@comment POSIX
+@deftypefun int pthread_getconcurrency ()
+@code{pthread_getconcurrency} is unused in LinuxThreads due to the lack
+of a mapping of user threads to kernel threads. It exists for source
+compatibility. However, it will return the value that was set by the
+last call to @code{pthread_setconcurrency}.
+@end deftypefun
+