X-Git-Url: http://www.chiark.greenend.org.uk/ucgi/~mdw/git/disorder/blobdiff_plain/c9467b7a34160c4e25580a2dc82087c5ae0bb2d0..8cd7d4bca92b0db48af0db692b3394ffdb789025:/server/state.c diff --git a/server/state.c b/server/state.c index bd74b14..bb36ee4 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); }