Commit 3c9d2d1a authored by Samuel Thibault's avatar Samuel Thibault

debian/patches/hurd-i386/libpthread_sigs.diff: Enable patch

to restore per-thread signal distribution, lost on upgrading to 2.28.
Fixes go.
parent c8826fa8
glibc (2.28-8) UNRELEASED; urgency=medium
[ Aurelien Jarno ]
* debian/patches/git-updates.diff: update from upstream stable branch.
[ Samuel Thibault ]
* debian/patches/hurd-i386/libpthread_sigs.diff: Enable patch to restore
per-thread signal distribution, lost on upgrading to 2.28. Fixes go.
-- Aurelien Jarno <aurel32@debian.org> Mon, 18 Feb 2019 08:16:13 +0100
glibc (2.28-7) unstable; urgency=medium
......
To be activated with glibc 2.28 to re-install thread signal dispatch
From: Samuel Thibault <samuel.thibault@ens-lyon.org>
Subject: Enable global signal distribution in htl
Revert of
commit 5049fabcfad4d5197669e5aa13d4d5f87f39d0bb
Author: Samuel Thibault <samuel.thibault@ens-lyon.org>
Date: Thu Jan 25 01:47:51 2018 +0100
* sysdeps/mach/hurd/htl/pt-sigstate-init.c (__pthread_sigstate_init):
Call _hurd_sigstate_set_global_rcv().
* sysdeps/mach/hurd/htl/pt-sigstate-destroy.c
(__pthread_sigstate_destroy): Call _hurd_sigstate_delete().
* sysdeps/mach/hurd/htl/pt-sigstate.c: Include <hurd/msg.h>
(__pthread_sigstate): Use _hurd_sigstate_lock()/_hurd_sigstate_unlock()
and _hurd_sigstate_pending(). Call __msg_sig_post() to wake up thread
with pending signals.
* sysdeps/mach/hurd/Makefile (LDLIBS-pthread.so): Add
$(objdir)/hurd/libhurduser.so.
Until posix thread signal distribution is commited
diff --git b/sysdeps/mach/hurd/htl/pt-sigstate-destroy.c a/sysdeps/mach/hurd/htl/pt-sigstate-destroy.c
index fce56c5d0d..d5e28d22d8 100644
--- b/sysdeps/mach/hurd/htl/pt-sigstate-destroy.c
+++ a/sysdeps/mach/hurd/htl/pt-sigstate-destroy.c
@@ -24,4 +24,5 @@
---
sysdeps/mach/hurd/Makefile | 2 ++
sysdeps/mach/hurd/htl/pt-sigstate-destroy.c | 1 +
sysdeps/mach/hurd/htl/pt-sigstate-init.c | 2 +-
sysdeps/mach/hurd/htl/pt-sigstate.c | 12 ++++++++++--
4 files changed, 14 insertions(+), 3 deletions(-)
diff --git a/sysdeps/mach/hurd/Makefile b/sysdeps/mach/hurd/Makefile
index 3a853a6cd9..8a865a0e1f 100644
--- a/sysdeps/mach/hurd/Makefile
+++ b/sysdeps/mach/hurd/Makefile
@@ -206,4 +206,6 @@ ifeq ($(subdir),nis)
CFLAGS-ypclnt.c += -DUSE_BINDINGDIR=1
endif
+LDLIBS-pthread.so += $(objdir)/hurd/libhurduser.so
+
endif # in-Makerules
diff --git a/sysdeps/mach/hurd/htl/pt-sigstate-destroy.c b/sysdeps/mach/hurd/htl/pt-sigstate-destroy.c
index e7154a371d..229a415487 100644
--- a/sysdeps/mach/hurd/htl/pt-sigstate-destroy.c
+++ b/sysdeps/mach/hurd/htl/pt-sigstate-destroy.c
@@ -23,4 +23,5 @@
void
__pthread_sigstate_destroy (struct __pthread *thread)
{
+ _hurd_sigstate_delete (thread->kernel_thread);
}
diff --git b/sysdeps/mach/hurd/htl/pt-sigstate-init.c a/sysdeps/mach/hurd/htl/pt-sigstate-init.c
index 660d5a02a6..4848f2ea91 100644
--- b/sysdeps/mach/hurd/htl/pt-sigstate-init.c
+++ a/sysdeps/mach/hurd/htl/pt-sigstate-init.c
@@ -36,7 +36,7 @@ __pthread_sigstate_init (struct __pthread *thread)
diff --git a/sysdeps/mach/hurd/htl/pt-sigstate-init.c b/sysdeps/mach/hurd/htl/pt-sigstate-init.c
index 70832f9576..507fb8ade2 100644
--- a/sysdeps/mach/hurd/htl/pt-sigstate-init.c
+++ b/sysdeps/mach/hurd/htl/pt-sigstate-init.c
@@ -35,7 +35,7 @@ __pthread_sigstate_init (struct __pthread *thread)
if (do_init_global)
{
struct hurd_sigstate *ss = _hurd_thread_sigstate (thread->kernel_thread);
......@@ -30,20 +54,11 @@ index 660d5a02a6..4848f2ea91 100644
}
else if (__pthread_num_threads >= 2)
do_init_global = 1;
Revert of
commit 797492f8769ced63b209246858c0550e23009e40
Author: Samuel Thibault <samuel.thibault@ens-lyon.org>
Date: Thu Jan 25 01:49:49 2018 +0100
Revert signal disposition, not in glibc's cvs yet
diff --git b/sysdeps/mach/hurd/htl/pt-sigstate.c a/sysdeps/mach/hurd/htl/pt-sigstate.c
index bae6ae7c45..74fd72a2c0 100644
--- b/sysdeps/mach/hurd/htl/pt-sigstate.c
+++ a/sysdeps/mach/hurd/htl/pt-sigstate.c
@@ -21,6 +21,7 @@
diff --git a/sysdeps/mach/hurd/htl/pt-sigstate.c b/sysdeps/mach/hurd/htl/pt-sigstate.c
index f7050ec0df..2ddceb229e 100644
--- a/sysdeps/mach/hurd/htl/pt-sigstate.c
+++ b/sysdeps/mach/hurd/htl/pt-sigstate.c
@@ -20,6 +20,7 @@
#include <assert.h>
#include <signal.h>
#include <hurd/signal.h>
......@@ -51,7 +66,7 @@ index bae6ae7c45..74fd72a2c0 100644
#include <pt-internal.h>
@@ -31,11 +32,12 @@ __pthread_sigstate (struct __pthread *thread, int how,
@@ -29,11 +30,12 @@ __pthread_sigstate (struct __pthread *thread, int how,
{
error_t err = 0;
struct hurd_sigstate *ss;
......@@ -65,7 +80,7 @@ index bae6ae7c45..74fd72a2c0 100644
if (oset != NULL)
*oset = ss->blocked;
@@ -66,7 +68,13 @@ __pthread_sigstate (struct __pthread *thread, int how,
@@ -64,7 +66,13 @@ __pthread_sigstate (struct __pthread *thread, int how,
if (!err && clear_pending)
__sigemptyset (&ss->pending);
......@@ -80,3 +95,5 @@ index bae6ae7c45..74fd72a2c0 100644
return err;
}
--
tg: (0bfe57e3de..) t/libpthread_sigs (depends on: baseline t/hurdsig-SA_SIGINFO t/hurdsig-boot-fix t/hurdsig-fixes t/hurdsig-fixes-2 t/hurdsig-global-dispositions t/hurdsig-global-dispositions-versions)
......@@ -80,7 +80,7 @@ hurd-i386/tg-libc_rwlock_recursive.diff
hurd-i386/git-magic-pid.diff
hurd-i386/local-no_unsupported_ioctls.diff
hurd-i386/local-exec_filename.diff
#hurd-i386/libpthread_sigs.diff
hurd-i386/libpthread_sigs.diff
hurd-i386/local-hurd_sigstate-PLT.diff
hurd-i386/git-interrupt_timeout_EIO.diff
hurd-i386/git-interrupt_timeout.diff
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment