From c3f38a65921afa19286129fa0c1d5480e959ee2b Mon Sep 17 00:00:00 2001 From: "Jason A. Donenfeld" Date: Wed, 8 May 2019 17:29:45 +0200 Subject: service: print in log after UI exits Signed-off-by: Jason A. Donenfeld --- service/service_manager.go | 13 ++++++++++--- 1 file changed, 10 insertions(+), 3 deletions(-) (limited to 'service/service_manager.go') diff --git a/service/service_manager.go b/service/service_manager.go index 4f793a1e..cbe2fee0 100644 --- a/service/service_manager.go +++ b/service/service_manager.go @@ -151,7 +151,7 @@ func (service *managerService) Execute(args []string, r <-chan svc.ChangeRequest return } - log.Printf("Starting UI process for user: '%s@%s'", username, domain) + log.Printf("Starting UI process for user '%s@%s'", username, domain) attr := &os.ProcAttr{ Sys: &syscall.SysProcAttr{ Token: syscall.Token(userToken), @@ -168,14 +168,21 @@ func (service *managerService) Execute(args []string, r <-chan svc.ChangeRequest windows.Close(theirLogMappingHandle) runtime.UnlockOSThread() if err != nil { - log.Printf("Unable to start manager UI process: %v", err) + log.Printf("Unable to start manager UI process for user '%s@%s': %v", username, domain, err) return } procsLock.Lock() procs[session] = proc procsLock.Unlock() - proc.Wait() + + processStatus, err := proc.Wait() + if err == nil { + log.Printf("Exited UI process for user '%s@%s' with status %d", username, domain, processStatus.ExitCode()) + } else { + log.Printf("Unable to wait for UI process for user '%s@%s': %v", username, domain, err) + } + procsLock.Lock() delete(procs, session) procsLock.Unlock() -- cgit v1.2.3-59-g8ed1b