summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to 'sys-apps/sandbox/files/sandbox-1.6-disable-pthread.patch')
-rw-r--r--sys-apps/sandbox/files/sandbox-1.6-disable-pthread.patch37
1 files changed, 37 insertions, 0 deletions
diff --git a/sys-apps/sandbox/files/sandbox-1.6-disable-pthread.patch b/sys-apps/sandbox/files/sandbox-1.6-disable-pthread.patch
new file mode 100644
index 0000000..490bc41
--- /dev/null
+++ b/sys-apps/sandbox/files/sandbox-1.6-disable-pthread.patch
@@ -0,0 +1,37 @@
+http://bugs.gentoo.org/263657
+
+disable pthread locks ... this is how stable has always worked, so there
+wont be any regressions ...
+
+diff --git a/libsandbox/libsandbox.c b/libsandbox/libsandbox.c
+index 034d0e7..595d17f 100644
+--- a/libsandbox/libsandbox.c
++++ b/libsandbox/libsandbox.c
+@@ -814,9 +814,6 @@
+ return result;
+ }
+
+-/* Need to protect the global sbcontext structure */
+-static pthread_mutex_t sb_syscall_lock = PTHREAD_MUTEX_INITIALIZER;
+-
+ bool before_syscall(int dirfd, int sb_nr, const char *func, const char *file, int flags)
+ {
+ int old_errno = errno;
+@@ -843,8 +840,6 @@
+ file = at_file_buf;
+ }
+
+- pthread_mutex_lock(&sb_syscall_lock);
+-
+ if (!sb_init) {
+ init_context(&sbcontext);
+ sb_init = true;
+@@ -885,8 +880,6 @@
+
+ result = check_syscall(&sbcontext, sb_nr, func, file, flags);
+
+- pthread_mutex_unlock(&sb_syscall_lock);
+-
+ if (0 == result) {
+ if ((NULL != getenv(ENV_SANDBOX_PID)) && (is_env_on(ENV_SANDBOX_ABORT)))
+