Actions
Bug #8708
closedIt seems that a call to the "system" changes the handler of the INT signal
Status:
Closed
Assignee:
-
Target version:
-
ruby -v:
ruby 1.9.3p429 (2013-05-15) [i386-cygwin]
Backport:
Description
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
Actions
Like0
Like0Like0