It seams the host never receives a TCP close signal,
and thus the host maintains an open connection, waiting for further communication from the PC, try change the value of "tcp_keepalive_interval", the "tcp_keepalive feature" institutes a series of probe messages from the host
to the client, the host sends a series of ten messages at specified intervals to the client, if no response returns, the host closes the channel,in Solaris, as well as in many other implementations, the default interval is 7.2 million milliseconds (2 hours),to change the actual timeout value, use ndd, values set by ndd on command level are not kept when the system is rebooted.
To check default value:
# ndd -get /dev/tcp tcp_keepalive_interval
This parameter is not global parameter hence we cannot set it by adding entry in the "/etc/system file", for this we need to add the required "ndd -set" entry into one of the start-up file, e.g to set "tcp_keepalive_interval" for one hour:
# ndd -set /dev/tcp tcp_keepalive_interval 3600000
It is recommended that the value of "tcp_keepalive_interval" should not be set below 15 minutes
Regards,
Carlos Almeida,