mount: ensure atexit gets run on interrupt

When running `rclone mount`, there were 2 signal handlers for `os.Interrupt`.

Those handlers would run concurrently and in some cases cause either unmount or `atexit.Run()` being skipped.

In addition `atexit.Run()` will get called in `resolveExitCode` to ensure cleanup on errors.
This commit is contained in:
Fabian Möller 2018-05-12 11:40:44 +02:00 committed by Nick Craig-Wood
parent cdde8fa75a
commit d022c81d99
3 changed files with 20 additions and 3 deletions

View file

@ -471,6 +471,7 @@ func initConfig() {
}
func resolveExitCode(err error) {
atexit.Run()
if err == nil {
os.Exit(exitCodeSuccess)
}