[OT] select and sysread problem on solaris
Andy Wardley
abw at wardley.org
Thu Sep 11 11:40:58 BST 2008
Paul Johnson wrote:
> Recently, another thirty or so pipes have been added to this group and
> very occassionally I am noticing a problem whereby select will indicate
> that a pipe is ready for reading and sysread will attempt to read from
> the pipe, but there is actually nothing there to be read, and so the
> sysread call hangs waiting for input.
Could it be a deferred signal? See perldoc perlipc for more info.
From some code I wrote:
while (1) {
$client = $server->accept() || do {
# accept() can "fail" in Perl 5.7.3 and later thanks
# to "safe signals" which can interrupt an accept()
# so we detect this and ignore it
next if $!{EINTR};
last;
};
# handle $client request
}
It's not using select(), but it could be a manifestation of the same
issue.
HTH
A
More information about the london.pm
mailing list