X-Git-Url: https://git.distorted.org.uk/~mdw/disorder/blobdiff_plain/c9467b7a34160c4e25580a2dc82087c5ae0bb2d0..c3feb35be30a8018ae00b08baeaf60060f99c1b2:/server/state.c diff --git a/server/state.c b/server/state.c index bd74b14..74f1566 100644 --- a/server/state.c +++ b/server/state.c @@ -49,7 +49,23 @@ void quit(ev_source *ev) { info("shutting down..."); quitting(ev); trackdb_close(); - trackdb_deinit(); + trackdb_deinit(ev); + /* Shutdown subprocesses. + * + * Subprocesses that use ev_child: + * - the speaker + * - the current rescan + * - any decoders + * - ...and players + * - the track picker + * - mail sender + * - the deadlock manager + * + * Subprocesses that don't: + * - any normalizers + * These are not shut down currently. + */ + ev_child_killall(ev); info("exiting"); exit(0); } @@ -144,6 +160,7 @@ void reset_sockets(ev_source *ev) { } /** @brief Reconfigure the server + * @param ev Event loop * @param flags Flags * @return As config_read(); 0 on success, -1 if could not (re-)read config */