Gitweb:
http://git.fedorahosted.org/git/?p=cluster.git;a=commitdiff;h=0c5ff64499b...
Commit: 0c5ff64499bbb510a83afab6a7180185e08060f9
Parent: 01d917b0f2bb773ae62c2eb320e9877647803b70
Author: Ryan McCabe <rmccabe(a)redhat.com>
AuthorDate: Fri Jul 27 13:03:04 2012 -0400
Committer: Ryan McCabe <rmccabe(a)redhat.com>
CommitterDate: Fri Jul 27 15:54:51 2012 -0400
rgmanager: Exit uncleanly only when CMAN_SHUTDOWN_ANYWAY is set
Only exit uncleanly when the CMAN_SHUTDOWN_ANYWAY flag is set in the
argument passed when handling the CMAN_REASON_TRY_SHUTDOWN event.
This fixes the case where args is 2, where we want to refuse to
shut down.
Resolves: rhbz#769730
Acked-by: Fabio M. Di Nitto <fdinitto(a)redhat.com>
Signed-off-by: Ryan McCabe <rmccabe(a)redhat.com>
---
rgmanager/src/clulib/msg_cluster.c | 6 ++++--
1 files changed, 4 insertions(+), 2 deletions(-)
diff --git a/rgmanager/src/clulib/msg_cluster.c b/rgmanager/src/clulib/msg_cluster.c
index e864853..e4b6b39 100644
--- a/rgmanager/src/clulib/msg_cluster.c
+++ b/rgmanager/src/clulib/msg_cluster.c
@@ -211,7 +211,7 @@ poll_cluster_messages(int timeout)
if (cman_dispatch(ch, 0) < 0) {
process_cman_event(ch, NULL,
- CMAN_REASON_TRY_SHUTDOWN, 1);
+ CMAN_REASON_TRY_SHUTDOWN, CMAN_SHUTDOWN_ANYWAY);
}
ret = 0;
}
@@ -987,7 +987,9 @@ process_cman_event(cman_handle_t handle, void *private, int reason,
int arg)
printf("EVENT: %p %p %d %d\n", handle, private, reason, arg);
#endif
- if (reason == CMAN_REASON_TRY_SHUTDOWN && !arg) {
+ if (reason == CMAN_REASON_TRY_SHUTDOWN &&
+ !(arg & CMAN_SHUTDOWN_ANYWAY))
+ {
cman_replyto_shutdown(handle, 0);
return;
}