-
Michele Tartara authored
Haskell deamons did not perform proper cleanup at termination. There was no code for removing the pid file, and the code in LuxiD for removing the unix socket file was not working, because it is implemented with a "finally" statement, which is executed only when the main loop of the daemon is exited (either normally, or through an exception), but not when it is terminated by a SIGTERM. This commit adds a proper handler for SIGTERM, which transforms it into a successful termination exception. This allows both the newly added cleanup code for pid files and the unmodified cleanup code for unix sockets to be executed. Fixes Issue 581 and 582. Signed-off-by: Michele Tartara <mtartara@google.com> Reviewed-by: Klaus Aehlig <aehlig@google.com>
80adbbe1