FAQ Search Today's Posts Mark Forums Read
» Video Reviews

» Linux Archive

Linux-archive is a website aiming to archive linux email lists and to make them easily accessible for linux users/developers.


» Sponsor

» Partners

» Sponsor

Go Back   Linux Archive > Redhat > Cluster Development

 
 
LinkBack Thread Tools
 
Old 01-06-2011, 09:42 AM
"Fabio M. Di Nitto"
 
Default Cman: Handle INT and TERM signals correctly

Re-iterating the patch for ACK to go in RHEL6.

Fabio

On 1/6/2011 11:38 AM, Fabio M. Di Nitto wrote:
> From: Jan Friesse <jfriesse@redhat.com>
>
> Corosync signal handler (SIGINT and SIGTERM) is replaced by cman one,
> and this was settting quit_threads to 1. Regular cman shutdown sequence
> (cman_tool leave) tests if quit_threads is set or not. If so, it refuses
> continue so it was not possible to cleanly leave cluster.
>
> Now SIGINT and SIGTERM are ignored, and (un)intentional kill of corosync
> is no longer problem.
>
> Resolves: rhbz#617234
> ---
> cman/daemon/daemon.c | 11 ++---------
> 1 files changed, 2 insertions(+), 9 deletions(-)
>
> diff --git a/cman/daemon/daemon.c b/cman/daemon/daemon.c
> index 64607cc..92cfd47 100644
> --- a/cman/daemon/daemon.c
> +++ b/cman/daemon/daemon.c
> @@ -489,11 +489,6 @@ int num_listeners(void)
> return count;
> }
>
> -static void sigint_handler(int ignored)
> -{
> - quit_threads = 1;
> -}
> -
> int cman_init(struct corosync_api_v1 *api)
> {
> int fd;
> @@ -514,12 +509,10 @@ int cman_init(struct corosync_api_v1 *api)
> return -2;
>
> /* Shutdown trap */
> - sa.sa_handler = sigint_handler;
> - sigaction(SIGINT, &sa, NULL);
> - sigaction(SIGTERM, &sa, NULL);
> -
> sa.sa_handler = SIG_IGN;
> sigaction(SIGPIPE, &sa, NULL);
> + sigaction(SIGINT, &sa, NULL);
> + sigaction(SIGTERM, &sa, NULL);
>
> return 0;
> }
 

Thread Tools




All times are GMT. The time now is 04:45 PM.

VBulletin, Copyright ©2000 - 2014, Jelsoft Enterprises Ltd.
Content Relevant URLs by vBSEO ©2007, Crawlability, Inc.
Copyright 2007 - 2008, www.linux-archive.org