diff options
| -rw-r--r-- | mount.go | 9 | 
1 files changed, 8 insertions, 1 deletions
| @@ -96,9 +96,9 @@ func doMount(args *argContainer) int {  	// Initialize FUSE server  	srv := initFuseFrontend(masterkey, args, confFile)  	tlog.Info.Println(tlog.ColorGreen + "Filesystem mounted and ready." + tlog.ColorReset) +	var paniclog *os.File  	// We have been forked into the background, as evidenced by the set  	// "notifypid". -	var paniclog *os.File  	if args.notifypid > 0 {  		// Chdir to the root directory so we don't block unmounting the CWD  		os.Chdir("/") @@ -124,6 +124,13 @@ func doMount(args *argContainer) int {  			syscall.Dup2(int(paniclog.Fd()), 1)  			syscall.Dup2(int(paniclog.Fd()), 2)  		} +		// Disconnect from the controlling terminal by creating a new session. +		// This prevents us from getting SIGINT when the user presses Ctrl-C +		// to exit a running script that has called gocryptfs. +		_, err = syscall.Setsid() +		if err != nil { +			tlog.Warn.Printf("Setsid: %v", err) +		}  		// Send SIGUSR1 to our parent  		sendUsr1(args.notifypid)  	} | 
