Merge pull request #1352 from corngood/cygwin-fixes

Cygwin fixes
This commit is contained in:
Eelco Dolstra 2017-04-21 17:39:33 +02:00 committed by GitHub
commit 169edf9407
4 changed files with 10 additions and 5 deletions

View file

@ -53,8 +53,8 @@ BUILD_SHARED_LIBS ?= 1
ifeq ($(BUILD_SHARED_LIBS), 1) ifeq ($(BUILD_SHARED_LIBS), 1)
ifeq (CYGWIN,$(findstring CYGWIN,$(OS))) ifeq (CYGWIN,$(findstring CYGWIN,$(OS)))
GLOBAL_CFLAGS += -U__STRICT_ANSI__ GLOBAL_CFLAGS += -U__STRICT_ANSI__ -D_GNU_SOURCE
GLOBAL_CXXFLAGS += -U__STRICT_ANSI__ GLOBAL_CXXFLAGS += -U__STRICT_ANSI__ -D_GNU_SOURCE
else else
GLOBAL_CFLAGS += -fPIC GLOBAL_CFLAGS += -fPIC
GLOBAL_CXXFLAGS += -fPIC GLOBAL_CXXFLAGS += -fPIC

View file

@ -259,7 +259,7 @@ int handleExceptions(const string & programName, std::function<void()> fun)
condition is discharged before we reach printMsg() condition is discharged before we reach printMsg()
below, since otherwise it will throw an (uncaught) below, since otherwise it will throw an (uncaught)
exception. */ exception. */
interruptThrown = true; setInterruptThrown();
throw; throw;
} }
} catch (Exit & e) { } catch (Exit & e) {

View file

@ -946,7 +946,12 @@ void closeOnExec(int fd)
bool _isInterrupted = false; bool _isInterrupted = false;
thread_local bool interruptThrown = false; static thread_local bool interruptThrown = false;
void setInterruptThrown()
{
interruptThrown = true;
}
void _interrupted() void _interrupted()
{ {

View file

@ -267,7 +267,7 @@ void closeOnExec(int fd);
extern bool _isInterrupted; extern bool _isInterrupted;
extern thread_local bool interruptThrown; void setInterruptThrown();
void _interrupted(); void _interrupted();