If reload fails, return code is set to value >0 to indicate error.
Signed-off-by: Jan Friesse <[email protected]>
---
tools/corosync-cfgtool.c | 14 ++++++++++----
1 files changed, 10 insertions(+), 4 deletions(-)
diff --git a/tools/corosync-cfgtool.c b/tools/corosync-cfgtool.c
index 07d318a..50e24ce 100644
--- a/tools/corosync-cfgtool.c
+++ b/tools/corosync-cfgtool.c
@@ -137,27 +137,33 @@ static void ringreenable_do (void)
(void)corosync_cfg_finalize (handle);
}
-static void reload_config_do (void)
+static int reload_config_do (void)
{
cs_error_t result;
corosync_cfg_handle_t handle;
+ int rc;
+
+ rc = 0;
printf ("Reloading corosync.conf...\n");
result = corosync_cfg_initialize (&handle, NULL);
if (result != CS_OK) {
- printf ("Could not initialize corosync configuration API error
%d\n", result);
+ printf ("Could not initialize corosync configuration API error
%s\n", cs_strerror(result));
exit (1);
}
result = corosync_cfg_reload_config (handle);
if (result != CS_OK) {
- printf ("Could not reload configuration %d\n", result);
+ printf ("Could not reload configuration. Error %s\n",
cs_strerror(result));
+ rc = 2;
}
else {
printf ("Done\n");
}
(void)corosync_cfg_finalize (handle);
+
+ return (rc);
}
static void shutdown_do(void)
@@ -278,7 +284,7 @@ int main (int argc, char *argv[]) {
rc = ringstatusget_do (interface_name);
break;
case 'R':
- reload_config_do ();
+ rc = reload_config_do ();
break;
case 'r':
ringreenable_do ();
--
1.7.1
_______________________________________________
discuss mailing list
[email protected]
http://lists.corosync.org/mailman/listinfo/discuss