aboutsummaryrefslogtreecommitdiff
path: root/src/libmain/shared.cc
diff options
context:
space:
mode:
Diffstat (limited to 'src/libmain/shared.cc')
-rw-r--r--src/libmain/shared.cc11
1 files changed, 2 insertions, 9 deletions
diff --git a/src/libmain/shared.cc b/src/libmain/shared.cc
index e26483211..ed997052b 100644
--- a/src/libmain/shared.cc
+++ b/src/libmain/shared.cc
@@ -24,15 +24,9 @@
namespace nix {
-volatile sig_atomic_t blockInt = 0;
-
-
static void sigintHandler(int signo)
{
- if (!blockInt) {
- _isInterrupted = 1;
- blockInt = 1;
- }
+ _isInterrupted = 1;
}
@@ -287,8 +281,7 @@ int handleExceptions(const string & programName, std::function<void()> fun)
condition is discharged before we reach printMsg()
below, since otherwise it will throw an (uncaught)
exception. */
- blockInt = 1; /* ignore further SIGINTs */
- _isInterrupted = 0;
+ interruptThrown = true;
throw;
}
} catch (Exit & e) {