If a service process dies in the middle of servicing a request, how does the client avoid waiting forever?
It appears that if a service's process dies in the middle of handling a request, the service call on the client side will hang forever.
Is there any way around this besides putting the service call in its own thread and killing the thread after a timeout?
How long did you wait? I think the sockets should die at some point, maybe after 2 minutes or so. Does the service client not throw an exception in that case? (I believe in roslisp, it does :))
Wow. I just tested your code and it really seems like the service call blocks forever...