summaryrefslogtreecommitdiff
path: root/debian/patches/introspection0010-fixup_libintrospection.patch
diff options
context:
space:
mode:
Diffstat (limited to 'debian/patches/introspection0010-fixup_libintrospection.patch')
-rw-r--r--debian/patches/introspection0010-fixup_libintrospection.patch37
1 files changed, 37 insertions, 0 deletions
diff --git a/debian/patches/introspection0010-fixup_libintrospection.patch b/debian/patches/introspection0010-fixup_libintrospection.patch
new file mode 100644
index 00000000..079dc971
--- /dev/null
+++ b/debian/patches/introspection0010-fixup_libintrospection.patch
@@ -0,0 +1,37 @@
+From 5a3d6f037c2a78f30b6098060ce73b8f6a7bc41a Mon Sep 17 00:00:00 2001
+From: Justus Winter <4winter@informatik.uni-hamburg.de>
+Date: Thu, 24 Sep 2015 22:11:58 +0200
+Subject: [PATCH hurd 10/12] fixup_libintrospection
+
+---
+ libintrospection/trace.c | 10 ++--------
+ 1 file changed, 2 insertions(+), 8 deletions(-)
+
+diff --git a/libintrospection/trace.c b/libintrospection/trace.c
+index ac2fdb0..392eb3a 100644
+--- a/libintrospection/trace.c
++++ b/libintrospection/trace.c
+@@ -131,18 +131,12 @@ introspection_trace_message (mach_port_t trace_port,
+ static mach_port_t
+ make_id (void)
+ {
+- static pthread_mutex_t lock = PTHREAD_MUTEX_INITIALIZER;
+ static mach_port_t id;
+ mach_port_t result;
+
+- pthread_mutex_lock (&lock);
+-
+ do
+- id += 1;
+- while (! MACH_PORT_VALID (id));
+-
+- result = id;
+- pthread_mutex_unlock (&lock);
++ result = __atomic_add_fetch (&id, 1, __ATOMIC_RELAXED);
++ while (! MACH_PORT_VALID (result));
+
+ return result;
+ }
+--
+2.1.4
+