aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/service/service_manager.go
diff options
context:
space:
mode:
Diffstat (limited to 'service/service_manager.go')
-rw-r--r--service/service_manager.go13
1 files changed, 10 insertions, 3 deletions
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()