Bug #960
SIGINT signal is not handled properly on OpenSolaris
| Status: | Closed | Start date: | 12/31/2008 | |
|---|---|---|---|---|
| Priority: | High | Due date: | ||
| Assignee: | % Done: | 100% |
||
| Category: | core | |||
| Target version: | 1.9.1 RC2 | |||
| ruby -v: |
Description
Following test failed.. (http://ruby.peppercode.com/log/ruby-1.9.1/last.txt ) test_should_propagate_signaled(TestBeginEndBlock) [/usr/local/src/ruby-1.9.1-rc1/test/ruby/test_beginendblock.rb:96] It seems that a ruby loop doesn't get interrupted by 'Ctrl-C' on OpenSolaris.
Associated revisions
* process.c: use sigaction instead of sigset. [ruby-core:21021]
History
Updated by yugui (Yuki Sonoda) over 3 years ago
- Target version changed from 1.9.1 Release Candidate to 1.9.1 RC2
Updated by mame (Yusuke Endoh) over 3 years ago
Hi, > Following test failed.. (http://ruby.peppercode.com/log/ruby-1.9.1/last.txt ) > > test_should_propagate_signaled(TestBeginEndBlock) [/usr/local/src/ruby-1.9.1-rc1/test/ruby/test_beginendblock.rb:96] > > It seems that a ruby loop doesn't get interrupted by 'Ctrl-C' on OpenSolaris. I think the following patch will fix this issue. Could you try it? Index: process.c =================================================================== --- process.c (revision 21266) +++ process.c (working copy) @@ -2736,12 +2736,8 @@ } -#if defined(sun) -#define signal(a,b) sigset(a,b) -#else -# if defined(POSIX_SIGNAL) -# define signal(a,b) posix_signal(a,b) -# endif +#if defined(POSIX_SIGNAL) +# define signal(a,b) posix_signal(a,b) #endif void -- Yusuke ENDOH <mame@tsg.ne.jp>
Updated by daesan (Dae San Hwang) over 3 years ago
Hi Yusuke, Your patch indeed solves the problem. It fixed two other process related test failures as well. Thanks a lot! daesan > I think the following patch will fix this issue. Could you try it? > Index: process.c > =================================================================== > --- process.c (revision 21266) > +++ process.c (working copy) > @@ -2736,12 +2736,8 @@ > } > -#if defined(sun) > -#define signal(a,b) sigset(a,b) > -#else > -# if defined(POSIX_SIGNAL) > -# define signal(a,b) posix_signal(a,b) > -# endif > +#if defined(POSIX_SIGNAL) > +# define signal(a,b) posix_signal(a,b) > #endif > void
Updated by mame (Yusuke Endoh) over 3 years ago
- Status changed from Open to Closed
- % Done changed from 0 to 100
Applied in changeset r21275.
Updated by daesan (Dae San Hwang) over 3 years ago
Hi Yusuke, Can you apply this patch to 1.9.1 branch as well? Thanks! daesan
Updated by shyouhei (Shyouhei Urabe) over 3 years ago
- Assignee set to yugui (Yuki Sonoda)