Split server stop() and join()

For consistency with the other components, call stop() and join()
separately.

This allows to stop all components, then join them all.
This commit is contained in:
Romain Vimont 2023-02-22 18:41:22 +01:00
parent e30e692b36
commit c78254fcd1
3 changed files with 11 additions and 0 deletions

View file

@ -698,6 +698,10 @@ end:
sc_file_pusher_destroy(&s->file_pusher);
}
if (server_started) {
sc_server_join(&s->server);
}
sc_server_destroy(&s->server);
return ret;

View file

@ -909,7 +909,10 @@ sc_server_stop(struct sc_server *server) {
sc_cond_signal(&server->cond_stopped);
sc_intr_interrupt(&server->intr);
sc_mutex_unlock(&server->mutex);
}
void
sc_server_join(struct sc_server *server) {
sc_thread_join(&server->thread, NULL);
}

View file

@ -108,6 +108,10 @@ sc_server_start(struct sc_server *server);
void
sc_server_stop(struct sc_server *server);
// join the server thread
void
sc_server_join(struct sc_server *server);
// close and release sockets
void
sc_server_destroy(struct sc_server *server);