|Perl Monk, Perl Meditation|
Re: SIGPIPE not trapped after sleep in CGIby zwon (Abbot)
|on Oct 28, 2012 at 13:37 UTC||Need Help??|
Try to add following two lines after print "output #2\n";:
and you will get your SIGPIPE.
So after you printed "output #1" you hit abort in browser, browser sent "FIN" to server, that means that it will not send any data to server, server considers connection open write only after that. Then you print "output #2", server sends it to browser as it thinks connection is still open for writing, no error here and no SIGPIPE. Client receives this "output #2" and replies with "RST" as it considers connection completely closed. After server got "RST" it realise that connection is closed, now if you try to write anything into socket, you will get SIGPIPE.