Signal handling behaviour change after ruby upgrade

A

andrew

I use an init system written in ruby for my Gnu/linux distro, and it
makes heavy use of signal handling.

After upgrading (stable snapshots)
from
ruby 1.8.3 (2005-10-26)
to
ruby 1.8.5 (2006-10-18)

nothing much works any more. It seems that signals are no longer
delivered until _after_ a blocking system call returns. For example:

#!/bin/ruby -w

trap("USR1") { puts("USR1") }
fork { sleep 60 }
pid = Process::wait()


If you run this up under a recent snapshot and fire some signals at
the process with

kill -USR1 <pid>

you will get no "USR1" output until AFTER the 60seconds have elapsed and
Process::wait() returns.

The old behaviour was to handle signals immediately, with presumably
SA_RESTART (or whatever it is called) set such that the wait system call
just carries on unaffected after the signal handler has been run.


So, is the change intentional? If so, whats the rationale?

Andrew Walrond
 
Y

Yukihiro Matsumoto

Hi,

In message "Re: Signal handling behaviour change after ruby upgrade"
on Sat, 21 Oct 2006 21:17:46 +0900, (e-mail address removed) writes:

|I use an init system written in ruby for my Gnu/linux distro, and it
|makes heavy use of signal handling.
|
|After upgrading (stable snapshots)
|from
| ruby 1.8.3 (2005-10-26)
|to
| ruby 1.8.5 (2006-10-18)

It was caused by a partial backport from the HEAD. The problem was
reported more than year ago in [ruby-talk:147220] by Guillaume
Marcais, but somehow I missed it. I am sorry. It will be fixed in
the snapshot soon.

matz.
 
A

andrew

It was caused by a partial backport from the HEAD. The problem was
reported more than year ago in [ruby-talk:147220] by Guillaume
Marcais, but somehow I missed it. I am sorry. It will be fixed in
the snapshot soon.

matz.

Well ok, but don't let it happen again ;)

(I don't think you need make apologies; especially here!)

Andrew Walrond
 
D

David Vallner

--------------enigBDF65B29394D363D5243D424
Content-Type: text/plain; charset=ISO-8859-1
Content-Transfer-Encoding: quoted-printable

Yukihiro said:
It will be fixed in the snapshot soon.
=20

Time machine batteries dead?

David Vallner
Running for the hills


--------------enigBDF65B29394D363D5243D424
Content-Type: application/pgp-signature; name="signature.asc"
Content-Description: OpenPGP digital signature
Content-Disposition: attachment; filename="signature.asc"

-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.5 (MingW32)

iD8DBQFFPBZJy6MhrS8astoRAs3CAJ9UjciNbTQctifeEJ7uXGP1y9WJZACfaTMf
edPEWvKBNzy6LOridfEOvc0=
=ihTS
-----END PGP SIGNATURE-----

--------------enigBDF65B29394D363D5243D424--
 
Y

Yukihiro Matsumoto

Hi,

In message "Re: Signal handling behaviour change after ruby upgrade"

|> It will be fixed in the snapshot soon.
|
|Time machine batteries dead?

Usually I am living in the future. But I am in the States now. ;-)

matz.
 
M

M. Edward (Ed) Borasky

Yukihiro said:
Hi,

In message "Re: Signal handling behaviour change after ruby upgrade"

|> It will be fixed in the snapshot soon.
|
|Time machine batteries dead?

Usually I am living in the future. But I am in the States now. ;-)

matz.
Yeah ... it's tomorrow where you live. :)
 
A

andrew

It was caused by a partial backport from the HEAD. The problem was
reported more than year ago in [ruby-talk:147220] by Guillaume
Marcais, but somehow I missed it. I am sorry. It will be fixed in
the snapshot soon.

Fixed - thanks!

Andrew Walrond
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Similar Threads


Members online

No members online now.

Forum statistics

Threads
473,769
Messages
2,569,579
Members
45,053
Latest member
BrodieSola

Latest Threads

Top