diff options
author | Eelco Dolstra <e.dolstra@tudelft.nl> | 2008-12-12T12·59+0000 |
---|---|---|
committer | Eelco Dolstra <e.dolstra@tudelft.nl> | 2008-12-12T12·59+0000 |
commit | 9122dcecbba9d5268d1087918ffe5a3b970625b8 (patch) | |
tree | 40d5bb8d6dac68d58962c78474a72ebf5e96f6c9 | |
parent | 6776a52bb380bb2567847c6e50e1d7880ad7847a (diff) |
* We can't use string objects in signal handlers because they might
allocate memory, which is verboten in signal handlers. This caused random failures in the test suite on Mac OS X (triggered by the spurious SIGPOLL signals on Mac OS X, which should also be fixed).
-rw-r--r-- | src/nix-worker/nix-worker.cc | 8 |
1 files changed, 4 insertions, 4 deletions
diff --git a/src/nix-worker/nix-worker.cc b/src/nix-worker/nix-worker.cc index 2c3f44cc0829..674aae0b10fe 100644 --- a/src/nix-worker/nix-worker.cc +++ b/src/nix-worker/nix-worker.cc @@ -112,12 +112,12 @@ static void sigPollHandler(int sigNo) _isInterrupted = 1; blockInt = 1; canSendStderr = false; - string s = "SIGPOLL\n"; - write(STDERR_FILENO, s.c_str(), s.size()); + char * s = "SIGPOLL\n"; + write(STDERR_FILENO, s, strlen(s)); } } else { - string s = "spurious SIGPOLL\n"; - write(STDERR_FILENO, s.c_str(), s.size()); + char * s = "spurious SIGPOLL\n"; + write(STDERR_FILENO, s, strlen(s)); } } catch (Error & e) { |