select, hanging, robustness

I'm having a similar problem with clients hanging and would really
like someone to show me how to use ORBit robustly.

When the server does not respond to the client (busy with other clients,
control-flow bug, whatever), how can the client protect itself from
hanging on select waiting indefinitely for a response?

At least when the server crashes, I can catch that error from
"giop_send_buffer_write" (although I have to recompile with
BACKWARDS_COMPAT_0_4 defined so that orbit-idl-c-stubs.c
checks it on line 197 - I was hoping that was fixed in 0.5.7).

But if the server doesn't respond to the client for whatever reason,
the client appears to be as good as dead.  Even and alarm signal
does not return the client's call.  Is there anyway to shake it loose?


Lance Welsh              lance seacoms com
Seascape Communications  (650) 327-6890

[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]