소스 검색

cfgtool: return error on reload failure

If reload fails, return code is set to value >0 to indicate error.

Signed-off-by: Jan Friesse <jfriesse@redhat.com>
Reviewed-by: Christine Caulfield <ccaulfie@redhat.com>
Jan Friesse 12 년 전
부모
커밋
7014f10123
1개의 변경된 파일10개의 추가작업 그리고 4개의 파일을 삭제
  1. 10 4
      tools/corosync-cfgtool.c

+ 10 - 4
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 = (int)result;
 	}
 	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 ();