cluster: master - cman: fix error if corosync takes >1s to start up
Christine Caulfield
chrissie@fedoraproject.org
Thu Aug 13 13:56:00 GMT 2009
Gitweb: http://git.fedorahosted.org/git/cluster.git?p=cluster.git;a=commitdiff;h=af693a731caa56bc18870c1dc61da04ecef245c7
Commit: af693a731caa56bc18870c1dc61da04ecef245c7
Parent: 654431f62a8bfe45cb8c7d2a9dd2f407d978a325
Author: Christine Caulfield <ccaulfie@redhat.com>
AuthorDate: Thu Aug 13 14:52:58 2009 +0100
Committer: Christine Caulfield <ccaulfie@redhat.com>
CommitterDate: Thu Aug 13 14:55:29 2009 +0100
cman: fix error if corosync takes >1s to start up
If corosync takes too long to start up then cman_tool quits with an
error saying that it didn't start.
This fixes that by correcting the abuses of the select return status.
Signed-off-by: Christine Caulfield <ccaulfie@redhat.com>
---
cman/cman_tool/join.c | 5 ++---
1 files changed, 2 insertions(+), 3 deletions(-)
diff --git a/cman/cman_tool/join.c b/cman/cman_tool/join.c
index 630e31a..fed729c 100644
--- a/cman/cman_tool/join.c
+++ b/cman/cman_tool/join.c
@@ -272,7 +272,7 @@ int join(commandline_t *comline, char *main_envp[])
if (sscanf(messageptr, "FORKED: %d", &corosync_pid) == 1) {
if (comline->verbose & DEBUG_STARTUP_ONLY)
fprintf(stderr, "forked process ID is %d\n", corosync_pid);
- status = 1;
+ status = 0;
/* There might be a SUCCESS or error message in the pipe too. */
messageptr = strchr(messageptr, '\n');
@@ -285,7 +285,6 @@ int join(commandline_t *comline, char *main_envp[])
if (sscanf(messageptr, "SUCCESS: %d", &corosync_pid) == 1) {
if (comline->verbose & DEBUG_STARTUP_ONLY)
fprintf(stderr, "corosync running, process ID is %d\n", corosync_pid);
- status = 0;
break;
}
else if (messageptr) {
@@ -301,7 +300,7 @@ int join(commandline_t *comline, char *main_envp[])
}
}
- } while (status != 0);
+ } while (status == 0);
close(p[0]);
/* If corosync has started, try to connect to cman ... if it's still there */
More information about the Cluster-cvs
mailing list