summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorPanu Matilainen <pmatilai@redhat.com>2016-12-16 09:51:12 +0200
committerPanu Matilainen <pmatilai@redhat.com>2016-12-16 09:51:12 +0200
commitff43d03d1f9686c9ffa9232a64e253783309feb5 (patch)
treebe10fc4fcb6c0c31c94eb9a6a0b23000decc8044
parentbbdf8193924cbd78cc076b87029ab5b158984e74 (diff)
downloadrpm-ff43d03d1f9686c9ffa9232a64e253783309feb5.tar.gz
Static signal-related variables need to be thread local
-rw-r--r--rpmio/rpmsq.c10
1 files changed, 5 insertions, 5 deletions
diff --git a/rpmio/rpmsq.c b/rpmio/rpmsq.c
index cd9e4ce96..35af216be 100644
--- a/rpmio/rpmsq.c
+++ b/rpmio/rpmsq.c
@@ -16,9 +16,9 @@
#include "debug.h"
-static int disableInterruptSafety;
-static sigset_t rpmsqCaught;
-static sigset_t rpmsqActive;
+static __thread int disableInterruptSafety;
+static __thread sigset_t rpmsqCaught;
+static __thread sigset_t rpmsqActive;
typedef struct rpmsig_s * rpmsig;
@@ -164,8 +164,8 @@ int rpmsqPoll(void)
int rpmsqBlock(int op)
{
- static sigset_t oldMask;
- static int blocked = 0;
+ static __thread sigset_t oldMask;
+ static __thread int blocked = 0;
sigset_t newMask;
int ret = 0;