DRb and signals

Using DRb appears to disable signal handlers in Ruby, at least in
1.8.4. Is there any way to work around this?

Compare:

trap( “SIGINT” ) { puts “foo” ; exit 0 }
loop do sleep 1 end

with:

require ‘drb’
DRb.start_service
trap( “SIGINT” ) { puts “foo” ; exit 0 }
loop do sleep 1 end

In the second case, sending the process a SIGINT appears to have no
effect at all…

-mental

On Feb 27, 2006, at 2:45 PM, [email protected] wrote:

require ‘drb’
DRb.start_service
trap( “SIGINT” ) { puts “foo” ; exit 0 }
loop do sleep 1 end

In the second case, sending the process a SIGINT appears to have no
effect at all…

Not seeing it:

$ ruby -v -
ruby 1.8.4 (2005-12-24) [powerpc-darwin8.4.0]
require ‘drb’
DRb.start_service
trap( “SIGINT” ) { puts “foo” ; exit 0 }
loop do sleep 1 end
^Cfoo
$

There’s a ^D in there under the ^C, but it got eaten.


Eric H. - [email protected] - http://blog.segment7.net
This implementation is HODEL-HASH-9600 compliant

http://trackmap.robotcoop.com

Quoting Logan C. [email protected]:

On Feb 27, 2006, at 7:33 PM, Joel VanderWerf wrote:

Seems ok also with ruby 1.8.4 (2005-12-24) [i686-linux].

I got the same result as Eric.
% ruby -v
ruby 1.8.4 (2005-12-24) [powerpc-darwin8.4.0]

Hmm, okay, thanks. I guess it’s an HP-UX issue.

$ ruby -v
ruby 1.8.4 (2005-12-24) [hppa2.0w-hpux11.11]

-mental

Eric H. wrote:

with:

$ ruby -v -
ruby 1.8.4 (2005-12-24) [powerpc-darwin8.4.0]

Seems ok also with ruby 1.8.4 (2005-12-24) [i686-linux].

On Feb 27, 2006, at 7:33 PM, Joel VanderWerf wrote:

Seems ok also with ruby 1.8.4 (2005-12-24) [i686-linux].

I got the same result as Eric.
% ruby -v
ruby 1.8.4 (2005-12-24) [powerpc-darwin8.4.0]