Hi, my process is multithreaded and uses tcp/ip.
When I close a socket I encounter the problem that the thread blocking
on select hangs forever. This is really strange because the thread
uses a one second timeout on select. Whenever the socket is alive, and
the timeout expires
the select returns appropriately. However if the socket is closed
(From another thread) select hangs and never returns. When tried the
same on solaris, the select call didn't hang
What can be the trouble?
I thought that perhaps signal blocking somehow caused the deadlock so
I reset the signal mask of the thread but to no avail.
This happens on a RH Advances server 3 kernel 2.4.21-4 machine.
Can someone please explain the problem.
Regards.
ERAN
|