cmd/containerd: replace deprecated windows.IsAnInteractiveSession()

The `IsAnInteractiveSession` was deprecated, and `IsWindowsService` is marked
as the recommended replacement.

For details, see 280f808b4a

> CL 244958 includes isWindowsService function that determines if a
> process is running as a service. The code of the function is based on
> public .Net implementation.
>
> IsAnInteractiveSession function implements similar functionality, but
> is based on an old Stackoverflow post., which is not as authoritative
> as code written by Microsoft for their official product.
>
> This change copies CL 244958 isWindowsService function into svc package
> and makes it public. The intention is that future users will prefer
> IsWindowsService to IsAnInteractiveSession.

Signed-off-by: Sebastiaan van Stijn <github@gone.nl>
This commit is contained in:
Sebastiaan van Stijn 2022-10-08 15:05:59 +02:00
parent 4a0ddfa974
commit 8fc68db0c0
No known key found for this signature in database
GPG Key ID: 76698F39D527CE8C

View File

@ -307,16 +307,17 @@ func launchService(s *server.Server, done chan struct{}) error {
done: done,
}
interactive, err := svc.IsAnInteractiveSession() // nolint:staticcheck
// Check if we're running as a Windows service or interactively.
isService, err := svc.IsWindowsService()
if err != nil {
return err
}
go func() {
if interactive {
err = debug.Run(serviceNameFlag, h)
} else {
if isService {
err = svc.Run(serviceNameFlag, h)
} else {
err = debug.Run(serviceNameFlag, h)
}
h.fromsvc <- err
}()