mirror of
https://github.com/giongto35/cloud-game.git
synced 2026-07-21 00:59:22 +00:00
32 lines
490 B
Go
32 lines
490 B
Go
package os
|
|
|
|
import (
|
|
"os"
|
|
"os/signal"
|
|
"os/user"
|
|
"syscall"
|
|
)
|
|
|
|
type Signal struct {
|
|
event chan os.Signal
|
|
done chan struct{}
|
|
}
|
|
|
|
func ExpectTermination() chan struct{} {
|
|
signals := make(chan os.Signal, 1)
|
|
signal.Notify(signals, os.Interrupt, syscall.SIGTERM)
|
|
done := make(chan struct{}, 1)
|
|
go func() {
|
|
<-signals
|
|
done <- struct{}{}
|
|
}()
|
|
return done
|
|
}
|
|
|
|
func GetUserHome() (string, error) {
|
|
me, err := user.Current()
|
|
if err != nil {
|
|
return "", err
|
|
}
|
|
return me.HomeDir, nil
|
|
}
|