--Signatureri__17_Jun_2005_01_01_04_+0200_PcQEUANeMeENL8MG Content-Type: text/plain; charset=US-ASCII Content-Disposition: inline Content-Transfer-Encoding: quoted-printable On Fri, 17 Jun 2005 05:03:18 +0900 Eric Hodel <drbrain / segment7.net> wrote: > It is probably not a bug in ruby, because ruby protects itself > against deadlock by immediately exitting. good :) Why the interpreter says "Segmentation fault" if it is only a deadlock ? > All the threads were probably told to go to sleep the debugging output tells us the problem is at /usr/lib/ruby/1.8/webrick/server.rb:88 88 if svrs = IO.select(@listeners, nil, nil, 2.0) svrs[0].each{|svr| @tokens.pop # blocks while no token is there. sock = svr.accept sock.sync = true Utils::set_close_on_exec(sock) th = start_thread(sock, &block) th[:WEBrickThread] = true thgroup.add(th) } end /usr/lib/ruby/1.8/timeout.rb:41 y = Thread.start { 41 sleep sec x.raise exception, "execution expired" if x.alive? } I suppose the select timeout is implemented using timeout.rb but that doesn't explain the deadlock in this code. any idea ? thx - Michel --Signatureri__17_Jun_2005_01_01_04_+0200_PcQEUANeMeENL8MG Content-Type: application/pgp-signature -----BEGIN PGP SIGNATURE----- Version: GnuPG v1.4.1 (GNU/Linux) iD8DBQFCsgSzZvjSzHhNkDcRAiMoAJ4skHy51N+oM3ysiJ8MkO+2zo7wbgCfWNg7 W28YllzMz+zjwIUpkkI2KSA pd -----END PGP SIGNATURE----- --Signatureri__17_Jun_2005_01_01_04_+0200_PcQEUANeMeENL8MG--