@@ -145,7 +145,7 @@ DWORD WINAPI service_ctrl_handler(DWORD ctrl, DWORD type, LPVOID data,
DWORD WINAPI handle_serial_device_events(DWORD type, LPVOID data);
VOID WINAPI service_main(DWORD argc, TCHAR *argv[]);
#endif
-static int run_agent(GAState *s);
+static void run_agent(GAState *s);
static void stop_agent(GAState *s, bool requested);
static void
@@ -1521,15 +1521,13 @@ static void cleanup_agent(GAState *s)
ga_state = NULL;
}
-static int run_agent_once(GAState *s)
+static void run_agent_once(GAState *s)
{
g_main_loop_run(s->main_loop);
if (s->channel) {
ga_channel_free(s->channel);
}
-
- return EXIT_SUCCESS;
}
static void wait_for_channel_availability(GAState *s)
@@ -1553,21 +1551,17 @@ static void wait_for_channel_availability(GAState *s)
#endif
}
-static int run_agent(GAState *s)
+static void run_agent(GAState *s)
{
- int ret = EXIT_SUCCESS;
-
s->force_exit = false;
do {
- ret = run_agent_once(s);
+ run_agent_once(s);
if (s->config->retry_path && !s->force_exit) {
g_warning("agent stopped unexpectedly, restarting...");
wait_for_channel_availability(s);
}
} while (s->config->retry_path && !s->force_exit);
-
- return ret;
}
static void stop_agent(GAState *s, bool requested)
@@ -1667,12 +1661,14 @@ int main(int argc, char **argv)
{ (char *)QGA_SERVICE_NAME, service_main }, { NULL, NULL } };
StartServiceCtrlDispatcher(service_table);
} else {
- ret = run_agent(s);
+ run_agent(s);
}
#else
- ret = run_agent(s);
+ run_agent(s);
#endif
+ ret = EXIT_SUCCESS;
+
cleanup_agent(s);
end:
After previous commits, run_agent_once() can't return anything else but EXIT_SUCCESS. Transitionally, run_agent() can't return anything else but EXIT_SUCCESS too. There's not much value in having these function return an integer. Make them return void. Signed-off-by: Michal Privoznik <mprivozn@redhat.com> --- qga/main.c | 20 ++++++++------------ 1 file changed, 8 insertions(+), 12 deletions(-)