Hello,
I have encountered following problem and I would like to know, if it is
the bug or the feature of QNX 4.25 / TCP/IP 4.25:
Let’s have a SERVER listening on port using function listen( sock, 0 );,
so that no pending connections are allowed ( socket options are SO_REUSEADDR,
NO_LINGER, maybe some timeouts ).
Let’s execute the following sequence :
1, start KLIENT ( who communicates with SERVER )
2, kill KLIENT
3, start another KLIENT
4, kill him
So far everything is OK, only netstat says, that 2 SERVER-side sockets are
in state CLOSE_WAIT, 2 KLIENT-side ( some zombie-s ) sockets are in state
FIN_WAIT_2 and SERVER listens on its port.
5, start KLIENT
but KLIENT stays in a state SYN_SENT, SERVER is lost somewhere in accept(…)
and netstat reports still 4 zombies, one listening server and one wretched
KLIENT in SYN_SENT state.
After I allowed 5 pending connections in server call of listen( … )
function, there was no problem to kill/restart klients. Some “zombies”
were still produced, but from time to time they were purged.
Is it a bug or a feature ?
Mgr. Martin Gazak, MicroStep-MIS
Ilkovicova 3, 841 04 Bratislava, Slovakia
e-mail:matog@microstep-mis.sk