<HTML><BODY style="word-wrap: break-word; -khtml-nbsp-mode: space; -khtml-line-break: after-white-space; ">Hi,<DIV><BR><DIV><DIV>On Sep 8, 2006, at 3:26, Camp, TracyX E wrote:</DIV><BR class="Apple-interchange-newline"><BLOCKQUOTE type="cite"> <DIV class="Section1"><P class="MsoNormal"><FONT size="2" face="Arial"><SPAN style="font-size:10.0pt; font-family:Arial">Iíve worked on a forked variant of spread in the recent past.† Iím planning on posting a few of the more useful bits of the variant fairly soon.† Anyways we did have a watchdog facility in our variant.† It worked by having an API that scheduled a timed event to the main client event loop (i.e. an E_queue() call).† The callback the API specified would send a heartbeat message to the local spread daemon and schedule another upcall.† The spread-daemon had an aliveness counter for each socket that if it wasnít updated in a certain number of seconds would cause various things to happen.† In our case we took the entire spread daemon down, but in your case it could simply do a sess_kill() on the offended socket, which would in turn cause membership to change.<O:P></O:P></SPAN></FONT></P></DIV></BLOCKQUOTE>Interesting, that sounds like it would work perfectly.† Thanks for the info!<BR></DIV><DIV><BR class="khtml-block-placeholder"></DIV><DIV>Alec</DIV><DIV><BR class="khtml-block-placeholder"></DIV><BR></DIV></BODY></HTML>