[Cluster-devel] cluster/fence/fence_tool fence_tool.c

rohara at sourceware.org rohara at sourceware.org
Fri Jan 5 16:40:24 UTC 2007


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':




More information about the Cluster-devel mailing list