[comp.sys.xerox] Error responses from clearinghouse queries

Kevin_Crowston@XV.MIT.EDU (03/04/88)

Xerox Lisp looks for a clearinghouse when it's booted and remembers that
clearinghouse for all queries.  Usually this is fine, since it saves the
broadcast necessary to locate a clearinghouse.  Unfortunately, when
that one clearinghouse crashes, Lisp just returns NIL for all clearinghouse
queries rather than trying to find another clearinghouse that's up.
For a user, this is almost okay, since when clearinghouse queries start
failing mysteriously (e.g., you can't log in for no apparent reason) you
can always just restart clearinghouse.  For servers it's a little worse,
though, since you never know whether that NIL you just got means
no such object, or that the clearinghouse crashed.  I got around this
by writing a little routine that redoes the broadcast whenever a clearinghouse
query returns NIL, assuming that most of the time the object being queried
exists and so most NILs really mean that the clearinghouse crashed.  This
works, but it seems that it would be much better if the system code
did the rebroadcast whenever it didn't get a response.  I don't mind
advising my low level code to get this behaviour; does anyone know where
I should poke my fingers?  (An approved Xerox patch would be even
better.)  Or do most people's clearinghouses just not crash?

Kevin Crowston
MIT Sloan School