diff options
author | Samuel Thibault <samuel.thibault@ens-lyon.org> | 2012-04-25 04:07:19 +0000 |
---|---|---|
committer | Samuel Thibault <samuel.thibault@ens-lyon.org> | 2012-04-25 04:07:19 +0000 |
commit | 2617bc1caf98bfa8c065607d0ed14ee2db676940 (patch) | |
tree | 29d789c1747f5f03b4f3c3c219fd8fd510b9378a /debian/patches/libpthread_globsigdisp.patch | |
parent | f8f7a6ba27dd8ed69d41fcda71cb313948421300 (diff) |
Remove libpthread, now shipped by glibc, and depend on it
Diffstat (limited to 'debian/patches/libpthread_globsigdisp.patch')
-rw-r--r-- | debian/patches/libpthread_globsigdisp.patch | 59 |
1 files changed, 0 insertions, 59 deletions
diff --git a/debian/patches/libpthread_globsigdisp.patch b/debian/patches/libpthread_globsigdisp.patch deleted file mode 100644 index 06c3486c..00000000 --- a/debian/patches/libpthread_globsigdisp.patch +++ /dev/null @@ -1,59 +0,0 @@ -commit 60d1b9b9198bc8c618596cb0e48687bd41e8adb7 -Author: Jeremie Koenig <jk@jk.fr.eu.org> -Date: Fri Jun 10 05:46:39 2011 +0000 - - Mark new threads as global signal receivers - - * sysdeps/mach/hurd/pt-sigstate-init.c (__pthread_sigstate_init): - Call _hurd_sigstate_set_global_rcv for newly created threads. - * sysdeps/mach/pt-thread-halt.c (__pthread_thread_halt): - Call _hurd_sigstate_delete on terminated threads. - -diff --git a/libpthread/sysdeps/mach/hurd/pt-sigstate-init.c b/libpthread/sysdeps/mach/hurd/pt-sigstate-init.c -index da5a945..f8398f4 100644 ---- a/libpthread/sysdeps/mach/hurd/pt-sigstate-init.c -+++ b/libpthread/sysdeps/mach/hurd/pt-sigstate-init.c -@@ -19,6 +19,7 @@ - - #include <pthread.h> - #include <hurd/threadvar.h> -+#include <hurd/signal.h> - - #include <pt-internal.h> - -@@ -30,8 +31,21 @@ __pthread_sigstate_init (struct __pthread *thread) - thread->stackaddr); - - /* The real initialization happens internally in glibc the first -- time that _hurd_thead_sigstate is called. */ -+ time that _hurd_self_sigstate is called. */ - *location = 0; - -+ /* Mark the thread as a global signal receiver so as to conform with -+ the pthread semantics. However, we must be careful. The first -+ pthread created is the main thread, during libpthread initialization. -+ We must not mark it, otherwise the sigprocmask call in -+ __pthread_create would try to access _hurd_global_sigstate, -+ which is not initialized yet. When glibc runs _hurdsig_init later -+ on, the message thread is created, which must not be marked either. */ -+ if (__pthread_num_threads > 2) -+ { -+ struct hurd_sigstate *ss = _hurd_thread_sigstate (thread->kernel_thread); -+ _hurd_sigstate_set_global_rcv (ss); -+ } -+ - return 0; - } -diff --git a/libpthread/sysdeps/mach/pt-thread-halt.c b/libpthread/sysdeps/mach/pt-thread-halt.c -index a9c3858..808043d 100644 ---- a/libpthread/sysdeps/mach/pt-thread-halt.c -+++ b/libpthread/sysdeps/mach/pt-thread-halt.c -@@ -34,6 +34,8 @@ __pthread_thread_halt (struct __pthread *thread) - { - if (thread->have_kernel_resources) - { -+ _hurd_sigstate_delete (thread->kernel_thread); -+ - if (thread == _pthread_self ()) - { - while (1) |