summaryrefslogtreecommitdiff
path: root/media-sound/linuxsampler/files/linuxsampler-2.0.0-nptl-hardened.patch
diff options
context:
space:
mode:
authorV3n3RiX <venerix@redcorelinux.org>2017-10-09 18:53:29 +0100
committerV3n3RiX <venerix@redcorelinux.org>2017-10-09 18:53:29 +0100
commit4f2d7949f03e1c198bc888f2d05f421d35c57e21 (patch)
treeba5f07bf3f9d22d82e54a462313f5d244036c768 /media-sound/linuxsampler/files/linuxsampler-2.0.0-nptl-hardened.patch
reinit the tree, so we can have metadata
Diffstat (limited to 'media-sound/linuxsampler/files/linuxsampler-2.0.0-nptl-hardened.patch')
-rw-r--r--media-sound/linuxsampler/files/linuxsampler-2.0.0-nptl-hardened.patch15
1 files changed, 15 insertions, 0 deletions
diff --git a/media-sound/linuxsampler/files/linuxsampler-2.0.0-nptl-hardened.patch b/media-sound/linuxsampler/files/linuxsampler-2.0.0-nptl-hardened.patch
new file mode 100644
index 000000000000..0c61f096c213
--- /dev/null
+++ b/media-sound/linuxsampler/files/linuxsampler-2.0.0-nptl-hardened.patch
@@ -0,0 +1,15 @@
+Fix breakage caused by undefined behaviour. Using PTHREAD_CANCEL_ASYNCHRONOUS
+is only allowed in pure functions.
+See also: https://bugs.gentoo.org/show_bug.cgi?id=537516
+
+--- linuxsampler-2.0.0/m4/nptl_bug.m4
++++ linuxsampler-2.0.0/m4/nptl_bug.m4
+@@ -47,7 +47,7 @@
+ void* __pthread_launcher(void* p) {
+ // let the thread be killable under any circumstances
+ // (without this function call, this test always succeeds !)
+- pthread_setcanceltype(PTHREAD_CANCEL_ASYNCHRONOUS, NULL);
++ pthread_setcanceltype(PTHREAD_CANCEL_DEFERRED, NULL);
+
+ // this will block this 2nd thread, since we already
+ // locked this mutex by the main thread