about summary refs log tree commit diff
path: root/src/libutil
diff options
context:
space:
mode:
authorDavid McFarland <davidm@hb-studios.com>2017-04-21T14·28-0300
committerDavid McFarland <davidm@hb-studios.com>2017-04-21T14·28-0300
commit804ac524891ead6aa70e27c093686b71391ea232 (patch)
treeb046be4ff1c5a88d4b404bea68bf01aaf28699a9 /src/libutil
parentd35231ec6017d72492a23b882b9275a60e1737a6 (diff)
add helper function to set 'interruptThrown'
this fixes a linker failure on cygwin 64 due to some bad
interaction between tls and shared libraries.

see: https://gcc.gnu.org/bugzilla/show_bug.cgi?id=64697
Diffstat (limited to 'src/libutil')
-rw-r--r--src/libutil/util.cc7
-rw-r--r--src/libutil/util.hh2
2 files changed, 7 insertions, 2 deletions
diff --git a/src/libutil/util.cc b/src/libutil/util.cc
index 37dfccd0669a..88a2f752c023 100644
--- a/src/libutil/util.cc
+++ b/src/libutil/util.cc
@@ -946,7 +946,12 @@ void closeOnExec(int fd)
 
 bool _isInterrupted = false;
 
-thread_local bool interruptThrown = false;
+static thread_local bool interruptThrown = false;
+
+void setInterruptThrown()
+{
+    interruptThrown = true;
+}
 
 void _interrupted()
 {
diff --git a/src/libutil/util.hh b/src/libutil/util.hh
index 121423cdaa3d..ae40dcd4cd2d 100644
--- a/src/libutil/util.hh
+++ b/src/libutil/util.hh
@@ -267,7 +267,7 @@ void closeOnExec(int fd);
 
 extern bool _isInterrupted;
 
-extern thread_local bool interruptThrown;
+void setInterruptThrown();
 
 void _interrupted();