From: merch-redmine@... Date: 2019-07-18T19:34:22+00:00 Subject: [ruby-core:93836] [Ruby master Bug#8708] It seems that a call to the "system" changes the handler of the INT signal Issue #8708 has been updated by jeremyevans0 (Jeremy Evans). Backport deleted (1.9.3: UNKNOWN, 2.0.0: UNKNOWN) Status changed from Open to Feedback Can you reproduce this issue with a currently supported Ruby version and current version of Cygwin? I tried the script on OpenBSD and on Windows and it works fine in both cases. ---------------------------------------- Bug #8708: It seems that a call to the "system" changes the handler of the INT signal https://bugs.ruby-lang.org/issues/8708#change-79709 * Author: bdimych (Dmitry Bolshakov) * Status: Feedback * Priority: Normal * Assignee: * Target version: * ruby -v: ruby 1.9.3p429 (2013-05-15) [i386-cygwin] * Backport: ---------------------------------------- this is only on cygwin, on linux all ok $ uname -a CYGWIN_NT-5.1 bolshakovxp 1.7.21(0.267/5/3) 2013-07-15 12:17 i686 Cygwin --- test script --- #!/usr/bin/ruby STDOUT.sync = true puts 'before "system" ctrl-c stops the script immediately' STDIN.sysread(1) # intTrap = trap 'INT', 'DEFAULT' # ---------------------- if uncomment this wrapper system 'echo blabla' # trap 'INT', intTrap # ---------------------------------- then ctrl-c works immediately puts 'but after "system" ctrl-c waits until I press Enter' STDIN.sysread(1) --- output --- $ ./x.rb before "system" ctrl-c stops the script immediately ./x.rb: Interrupt $ ./x.rb before "system" ctrl-c stops the script immediately blabla but after "system" ctrl-c waits until I press Enter I'm pressing ctrl-c right now... but it stops only after Enter ./x.rb: Interrupt -- https://bugs.ruby-lang.org/ Unsubscribe: