Browse Source

[trac4002] Save a copy of the err string in case errno changes under us

Shawn Routhier 9 years ago
parent
commit
89f646302b
1 changed files with 2 additions and 1 deletions
  1. 2 1
      src/lib/util/signal_set.cc

+ 2 - 1
src/lib/util/signal_set.cc

@@ -178,9 +178,10 @@ SignalSet::add(const int sig) {
     sa.sa_handler = internalHandler;
     sigfillset(&sa.sa_mask);
     if (sigaction(sig, &sa, 0) < 0) {
+        const char* errmsg = strerror(errno);
         erase(sig);
         isc_throw(SignalSetError, "failed to register a signal handler for"
-                  " signal " << sig << ": " << strerror(errno));
+                  " signal " << sig << ": " << errmsg);
     }
 }