[omniORB] client call timeouts on HP-UX
Masaaki Sekiya
sekiya@nagoya.ydc.co.jp
Wed, 28 Jun 2000 19:38:17 +0900 (JST)
Sai-Lai wrote:
> What seems to happen is that on HPUX 11, whether shutdown() releases recv()
> blocking in the kernel depends on which end of the connection the
> socket is representing.
>
> If the socket is passive, i.e. created by accept(), recv() is released by a
> shutdown() call by another thread. Therefore the omniORB server side
> connection shutdown works just fine.
>
> If the socket is not passive, i.e. used with connect(), recv() is not
> released by a shutdown() call by another thread.
>
> Can anyone confirm if HPUX 10 also exhibits the same behaviour?
>
> The socket library on Windows NT also behaves in the same way.
>
> The following code should correct the behaviour. The down side is we have
> to take a performance hit in doing 2 system calls instead of 1. I just
> hope poll() is not as costly as a select().
Thank you for a quick response.
I could'nt confirm shutdown() releases recv() on passive socket.
But patch works fine.
A performance seems to be as well.
Masaaki Sekiya