diff options
-rw-r--r-- | ChangeLog | 6 | ||||
-rw-r--r-- | signal.c | 4 |
2 files changed, 10 insertions, 0 deletions
@@ -1,3 +1,9 @@ +Wed Feb 25 18:12:11 2015 Eric Wong <e@80x24.org> + + * signal.c (sighandler): preserve errno + Patch by Steven Stewart-Gallus <sstewartgallus00@mylangara.bc.ca> + [ruby-core:68172] [Bug #10866] + Wed Feb 25 15:59:35 2015 Nobuyoshi Nakada <nobu@ruby-lang.org> * dir.c (push_pattern, push_glob): make globbed file names same @@ -691,11 +691,15 @@ signal_enque(int sig) static RETSIGTYPE sighandler(int sig) { + int old_errnum = errno; + signal_enque(sig); rb_thread_wakeup_timer_thread(); #if !defined(BSD_SIGNAL) && !defined(POSIX_SIGNAL) ruby_signal(sig, sighandler); #endif + + errno = old_errnum; } int |