[Linux-cluster] CMAN cluster event notification broken?

Patrick Caulfield pcaulfie at redhat.com
Thu Aug 31 08:08:57 UTC 2006


Mikhail A Zelikov wrote:
> I have a 2-node cluster, and I wrote a simple program that registers for
> cluster events using:
> cman_start_notification and cman_start_recv_data.  If a node dies (manual
> reboot/shutdown) then I receive CMAN_REASON_PORTCLOSED event and then NO
> CMAN_REASON_STATECHANGE (as I woudl expect). I receive
> CMAN_REASON_STATECHANGE once the node is booted again. If I do not
> register for data then I do not receive CMAN_REASON_PORTCLOSED as
> expected.
> Is the notification mechanism broken?

It used to be broken for the last node in the cluster. It should be fixed in U3.

>   Mike
> P.S.
> It also looks like that the conditions in while loop in cman_dispatch
> might be incorrect if the intention was to continue forever as long as
> there no errors.
> 
> 	while ( flags & CMAN_DISPATCH_ALL &&
> 		(len < 0 && errno == EAGAIN) );
> 
> Should it be:
> 
> 	while ( flags & CMAN_DISPATCH_ALL &&
> 		!(len < 0 && errno == EAGAIN) );
> 

Err, yes you're right.

Thank you.

-- 

patrick




More information about the Linux-cluster mailing list