in reply to SIGCHLD interrupting accept call?
You aren't going to like this, but I just tested and it worked
like a champ. The machines I used are Redhat 6.2 Linux 2.2.14-5.0 w/
perl 5.005_03 and the other is SGI Irix 6.5.5 w/ perl 5.005_02
So it seems to be a specific Solaris thing. And if the
$SIG{'CHLD'} = 'IGNORE' works fine, than it seems to me
that your problem would be in REAPER, and not the accept call,
but I could be wrong. Maybe Solaris has issues with waitpid?
Another thought is that maybe for some reason
the server is getting a SIGPIPE when your client disconnects.
This is a total guess though, but you may want to explicitly
ingore the SIGPIPE (ie $SIG{'PIPE'} = 'IGNORE';) and see if that
works.