From 848f084f51e9890e41071e8a58b3878cedce0dd7 Mon Sep 17 00:00:00 2001 From: Lon Hohberger <lhh@redhat.com> Date: Wed, 5 May 2010 09:13:08 -0400 Subject: [PATCH] rgmanager: Do hard shut down if CMAN dies Resolves: rhbz#639961 Signed-off-by: Lon Hohberger <lhh@redhat.com> Reviewed-by: Fabio M. Di Nitto <fdinitto@redhat.com> --- rgmanager/src/clulib/msg_cluster.c | 7 ++++++- 1 files changed, 6 insertions(+), 1 deletions(-) diff --git a/rgmanager/src/clulib/msg_cluster.c b/rgmanager/src/clulib/msg_cluster.c index 4ec3750..8dc22d0 100644 --- a/rgmanager/src/clulib/msg_cluster.c +++ b/rgmanager/src/clulib/msg_cluster.c @@ -35,6 +35,8 @@ #include <cman-private.h> #include <clulog.h> +static void process_cman_event(cman_handle_t handle, void *private, + int reason, int arg); /* Ripped from ccsd's setup_local_socket */ int cluster_msg_close(msgctx_t *ctx); @@ -207,7 +209,10 @@ poll_cluster_messages(int timeout) return -1; } - cman_dispatch(ch, 0); + if (cman_dispatch(ch, 0) < 0) { + process_cman_event(ch, NULL, + CMAN_REASON_TRY_SHUTDOWN, 0); + } ret = 0; } cman_unlock(ch); -- 1.7.2.3