[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