On Thu, 17 Oct 2002, Fuliang Weng (RTC) wrote:
> (server and client) of a socket. When the server crashes, any attempt by
> the client to send or receive a message would lead to the client's
Huh? Maybe the client is dying due to an unhandled SIGPIPE after
writing on the socket?
> I would like to have a solution so that the client can detect the
> crash of the server, and wait for its recovery instead of simple crash
> and restart.
If you can turn the socket error into a condition, then you have the
condition handling system in Lisp at your disposal. The code
surrounding the socket operation has the expertise on how to reconnect
to the server, or on how to recover itself if that is not wanted.
To choose the course of action, it can provide restarts for all of them
and signal an error, to get advice from higher level code.
Read about restart-case, handler-bind, invoke-restart, error,
define-condition, signal and friends.