From mboxrd@z Thu Jan 1 00:00:00 1970 From: rohara@sourceware.org Date: 5 Jan 2007 16:40:24 -0000 Subject: [Cluster-devel] cluster/fence/fence_tool fence_tool.c Message-ID: <20070105164024.3372.qmail@sourceware.org> List-Id: To: cluster-devel.redhat.com MIME-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit CVSROOT: /cvs/cluster Module name: cluster Branch: STABLE Changes by: rohara at sourceware.org 2007-01-05 16:40:24 Modified files: fence/fence_tool: fence_tool.c Log message: Add timeout option for fence_tool leave. Patches: http://sourceware.org/cgi-bin/cvsweb.cgi/cluster/fence/fence_tool/fence_tool.c.diff?cvsroot=cluster&only_with_tag=STABLE&r1=1.5.2.6.6.3&r2=1.5.2.6.6.4 --- cluster/fence/fence_tool/fence_tool.c 2006/02/09 15:38:09 1.5.2.6.6.3 +++ cluster/fence/fence_tool/fence_tool.c 2007/01/05 16:40:24 1.5.2.6.6.4 @@ -62,7 +62,7 @@ int operation; int child_wait; int quorum_wait = TRUE; -int fenced_start_timeout = 0; +int fenced_timeout = 0; int signalled = 0; int cl_sock; char our_name[MAX_CLUSTER_MEMBER_NAME_LEN+1]; @@ -282,9 +282,9 @@ setup_sock(); - if (fenced_start_timeout) { + if (fenced_timeout) { signal(SIGALRM, sigalarm_handler); - alarm(fenced_start_timeout); + alarm(fenced_timeout); } if (!check_quorum()) { @@ -373,8 +373,17 @@ check_mounted(); setup_sock(); - if (!check_quorum()) + if (fenced_timeout) { + signal(SIGALRM, sigalarm_handler); + alarm(fenced_timeout); + } + + if (!check_quorum()) { + if (errno == ETIMEDOUT) + printf("%s: Timed out waiting for cluster " + "quorum to form.\n", prog_name); return EXIT_FAILURE; + } close(cl_sock); @@ -487,7 +496,7 @@ break; case 't': - fenced_start_timeout = get_int_arg(optchar, optarg); + fenced_timeout = get_int_arg(optchar, optarg); break; case 'c':