diff options
| author | Michael Banck <mbanck@debian.org> | 2008-05-18 18:14:27 +0000 |
|---|---|---|
| committer | Michael Banck <mbanck@debian.org> | 2008-05-18 18:14:27 +0000 |
| commit | 36d2bcec23407aa11e638aeeec6bb10ee5563bb4 (patch) | |
| tree | 6bd3da83e68822b51aa2bc76139a81f6b7cd51a6 /debian/patches | |
| parent | 5e3f3cc410a1aced7724b7a7dbab1ab1adb208f5 (diff) | |
* debian/patches/libpthread_getattr.patch: New patch, implements
pthread_getattr_np, taken from CVS.
Diffstat (limited to 'debian/patches')
| -rw-r--r-- | debian/patches/libpthread_getattr.patch | 96 |
1 files changed, 96 insertions, 0 deletions
diff --git a/debian/patches/libpthread_getattr.patch b/debian/patches/libpthread_getattr.patch new file mode 100644 index 00000000..74ed5ab1 --- /dev/null +++ b/debian/patches/libpthread_getattr.patch @@ -0,0 +1,96 @@ +2008-05-17 Samuel Thibault <samuel.thibault@ens-lyon.org> + + * include/pthread/pthread.h (pthread_getattr_np): New declaration. + * pthread/pt-getattr.c: New file. + * Makefile (SRCS): Add pt-getattr.c. + +Index: libpthread/Makefile +=================================================================== +RCS file: /cvsroot/hurd/hurd/libpthread/Makefile,v +retrieving revision 1.7 +retrieving revision 1.8 +diff -u -r1.7 -r1.8 +--- libpthread/Makefile 19 Nov 2007 17:37:02 -0000 1.7 ++++ libpthread/Makefile 17 May 2008 20:07:55 -0000 1.8 +@@ -45,6 +45,7 @@ + \ + pt-alloc.c \ + pt-create.c \ ++ pt-getattr.c \ + pt-equal.c \ + pt-dealloc.c \ + pt-detach.c \ +Index: libpthread/include/pthread/pthread.h +=================================================================== +RCS file: /cvsroot/hurd/hurd/libpthread/include/pthread/pthread.h,v +retrieving revision 1.10 +retrieving revision 1.11 +diff -u -r1.10 -r1.11 +--- libpthread/include/pthread/pthread.h 1 Jan 2008 04:07:13 -0000 1.10 ++++ libpthread/include/pthread/pthread.h 17 May 2008 20:07:56 -0000 1.11 +@@ -188,6 +188,13 @@ + /* Set the value of the stacksize attribute in *ATTR to STACKSIZE. */ + extern int pthread_attr_setstacksize (pthread_attr_t *attr, + size_t stacksize); ++ ++#ifdef __USE_GNU ++/* Initialize thread attribute *ATTR with attributes corresponding to the ++ already running thread THREAD. It shall be called on an uninitialized ATTR ++ and destroyed with pthread_attr_destroy when no longer needed. */ ++extern int pthread_getattr_np (pthread_t thread, pthread_attr_t *attr); ++#endif + + + /* Create a thread with attributes given by ATTR, executing +--- /dev/null 2008-05-16 23:43:09.480010765 +0200 ++++ libpthread/pthread/pt-getattr.c 2008-05-17 22:07:56.000000000 +0200 +@@ -0,0 +1,49 @@ ++/* Thread attributes retrieval. ++ Copyright (C) 2008 Free Software Foundation, Inc. ++ This file is part of the GNU C Library. ++ ++ The GNU C Library is free software; you can redistribute it and/or ++ modify it under the terms of the GNU Library General Public License as ++ published by the Free Software Foundation; either version 2 of the ++ License, or (at your option) any later version. ++ ++ The GNU C Library is distributed in the hope that it will be useful, ++ but WITHOUT ANY WARRANTY; without even the implied warranty of ++ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU ++ Library General Public License for more details. ++ ++ You should have received a copy of the GNU Library General Public ++ License along with the GNU C Library; see the file COPYING.LIB. If not, ++ write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330, ++ Boston, MA 02111-1307, USA. */ ++ ++#include <assert.h> ++#include <errno.h> ++#include <pthread.h> ++ ++#include <pt-internal.h> ++ ++/* Initialize thread attribute *ATTR with attributes corresponding to the ++ already running thread THREAD. It shall be called on an uninitialized ATTR ++ and destroyed with pthread_attr_destroy when no longer needed. */ ++int ++pthread_getattr_np (pthread_t thread, pthread_attr_t *attr) ++{ ++ struct __pthread *pthread; ++ ++ pthread = __pthread_getid(thread); ++ if (pthread == NULL) ++ return ESRCH; ++ ++ /* Some attributes (schedparam, inheritsched, contentionscope and schedpolicy) ++ are not supported yet, so fill them with our default values. */ ++ *attr = __pthread_default_attr; ++ ++ attr->stackaddr = pthread->stackaddr; ++ attr->stacksize = pthread->stacksize; ++ attr->guardsize = pthread->guardsize; ++ attr->detachstate = (pthread->state == PTHREAD_DETACHED ++ ? PTHREAD_CREATE_DETACHED : PTHREAD_CREATE_JOINABLE); ++ ++ return 0; ++} |
