<html xmlns:o="urn:schemas-microsoft-com:office:office" xmlns:w="urn:schemas-microsoft-com:office:word" xmlns="http://www.w3.org/TR/REC-html40">

<head>
<META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=us-ascii">
<meta name=Generator content="Microsoft Word 11 (filtered medium)">
<style>
<!--
 /* Style Definitions */
 p.MsoNormal, li.MsoNormal, div.MsoNormal
        {margin:0in;
        margin-bottom:.0001pt;
        font-size:12.0pt;
        font-family:"Times New Roman";}
a:link, span.MsoHyperlink
        {color:blue;
        text-decoration:underline;}
a:visited, span.MsoHyperlinkFollowed
        {color:purple;
        text-decoration:underline;}
span.EmailStyle17
        {mso-style-type:personal-compose;
        font-family:Arial;
        color:windowtext;}
@page Section1
        {size:8.5in 11.0in;
        margin:1.0in 1.25in 1.0in 1.25in;}
div.Section1
        {page:Section1;}
-->
</style>

</head>

<body lang=EN-US link=blue vlink=purple>

<div class=Section1>

<p class=MsoNormal><font size=2 face=Arial><span style='font-size:10.0pt;
font-family:Arial'>I&#8217;ve worked on a forked variant of spread in the
recent past.&nbsp; I&#8217;m planning on posting a few of the more useful bits of
the variant fairly soon.&nbsp; Anyways we did have a watchdog facility in our
variant.&nbsp; It worked by having an API that scheduled a timed event to the main client
event loop (i.e. an E_queue() call).&nbsp; The callback the API specified would send
a heartbeat message to the local spread daemon and schedule another upcall.&nbsp;
The spread-daemon had an aliveness counter for each socket that if it wasn&#8217;t
updated in a certain number of seconds would cause various things to happen.&nbsp;
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>

<p class=MsoNormal><font size=2 face=Arial><span style='font-size:10.0pt;
font-family:Arial'><o:p>&nbsp;</o:p></span></font></p>

<p class=MsoNormal><font size=2 face=Arial><span style='font-size:10.0pt;
font-family:Arial'>t.<o:p></o:p></span></font></p>

</div>

</body>

</html>