in reply to Re^3: Win32 fork and IO::Socket::INET->accept calls
in thread Win32 fork and IO::Socket::INET->accept calls
One problem I ran into many times in the past is that, with this kind of code:
my $s = IO::Socket::INET->new(Proto => "tcp", LocalAddr => "localhost" +, LocalPort => 3000, Listen => 10); for (my $c = $s->accept()) { ... }
If you leave it alone for hours and there is no client come to connect, you might never be able to accept() connection any more, even when there is client wants to conenct. I ran into this many times in the past. To resolve this, I simply let the accept() timeout periodically.
"But why would accept in one pseudo-process (thread) tie up a function (fork) in another pseudo-process (thread)? "
Don't jump to conclusion that this has anything to do with thread, unless you come up a piece of threading code to demo the same problem.
|
|---|
| Replies are listed 'Best First'. | |
|---|---|
|
Re^5: Win32 fork and IO::Socket::INET->accept calls
by ikegami (Patriarch) on Nov 04, 2004 at 04:49 UTC | |
by pg (Canon) on Nov 04, 2004 at 04:56 UTC | |
by ikegami (Patriarch) on Nov 04, 2004 at 05:05 UTC |