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 Signed-off-by: Ryan McCabe <rmccabe@redhat.com> --- rgmanager/src/clulib/msg_cluster.c | 6 ++++-- 1 file 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 ", 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; } -- 1.7.11.2 |
rgmanager: Exit uncleanly only when CMAN_SHUTDOWN_ANYWAY is set
ACK
we will need an upstream/rhel6 equivalent too for this one. See my comment in BZ. Fabio On 07/27/2012 07:07 PM, Ryan McCabe wrote: > 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 > > Signed-off-by: Ryan McCabe <rmccabe@redhat.com> > --- > rgmanager/src/clulib/msg_cluster.c | 6 ++++-- > 1 file 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 ", 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; > } > |
| All times are GMT. The time now is 05:45 PM. |
VBulletin, Copyright ©2000 - 2013, Jelsoft Enterprises Ltd.
Content Relevant URLs by vBSEO ©2007, Crawlability, Inc.