Преглед на файлове

qnetd: Move pr_poll_loop_exec call to function

Signed-off-by: Jan Friesse <jfriesse@redhat.com>
Jan Friesse преди 5 години
родител
ревизия
1ad070d8a9
променени са 1 файла, в които са добавени 23 реда и са изтрити 15 реда
  1. 23 15
      qdevices/corosync-qnetd.c

+ 23 - 15
qdevices/corosync-qnetd.c

@@ -152,6 +152,25 @@ signal_handlers_register(void)
 	sigaction(SIGTERM, &act, NULL);
 	sigaction(SIGTERM, &act, NULL);
 }
 }
 
 
+static int
+qnetd_run_main_loop(struct qnetd_instance *instance)
+{
+	int poll_res;
+
+	while ((poll_res = pr_poll_loop_exec(&instance->main_poll_loop)) == 0) {
+	}
+
+	if (poll_res == -2) {
+		log(LOG_CRIT, "pr_poll_loop_exec returned -2 - internal error");
+		return (-1);
+	} else if (poll_res == -3) {
+		log_nss(LOG_CRIT, "pr_poll_loop_exec returned -3 - PR_Poll error");
+		return (-1);
+	}
+
+	return (poll_res);
+}
+
 static void
 static void
 usage(void)
 usage(void)
 {
 {
@@ -330,7 +349,7 @@ main(int argc, char * const argv[])
 	int lock_file;
 	int lock_file;
 	int another_instance_running;
 	int another_instance_running;
 	int log_target;
 	int log_target;
-	int poll_res;
+	int main_loop_res;
 
 
 	if (qnetd_advanced_settings_init(&advanced_settings) != 0) {
 	if (qnetd_advanced_settings_init(&advanced_settings) != 0) {
 		errx(EXIT_FAILURE, "Can't alloc memory for advanced settings");
 		errx(EXIT_FAILURE, "Can't alloc memory for advanced settings");
@@ -447,19 +466,8 @@ main(int argc, char * const argv[])
 	sd_notify(0, "READY=1");
 	sd_notify(0, "READY=1");
 #endif
 #endif
 
 
-	/*
-	 * MAIN LOOP
-	 */
-	while ((poll_res = pr_poll_loop_exec(&instance.main_poll_loop)) == 0) {
-	}
-
-	if (poll_res == -2) {
-		log(LOG_CRIT, "pr_poll_loop_exec returned -2 - internal error");
-		return (EXIT_FAILURE);
-	} else if (poll_res == -3) {
-		log_nss(LOG_CRIT, "pr_poll_loop_exec returned -3 - PR_Poll error");
-		return (EXIT_FAILURE);
-	}
+	log(LOG_DEBUG, "Running QNetd main loop");
+	main_loop_res = qnetd_run_main_loop(&instance);
 
 
 	/*
 	/*
 	 * Cleanup
 	 * Cleanup
@@ -494,5 +502,5 @@ main(int argc, char * const argv[])
 	log(LOG_DEBUG, "Closing log");
 	log(LOG_DEBUG, "Closing log");
 	log_close();
 	log_close();
 
 
-	return (EXIT_SUCCESS);
+	return (main_loop_res == 0 ? EXIT_SUCCESS : EXIT_FAILURE);
 }
 }