Differential D21570 Diff 62266 sysutils/docker-freebsd/files/patch-libcontainerd_supervisor_remote__daemon__freebsd.go
Changeset View
Changeset View
Standalone View
Standalone View
sysutils/docker-freebsd/files/patch-libcontainerd_supervisor_remote__daemon__freebsd.go
- This file was added.
Property | Old Value | New Value |
---|---|---|
fbsd:nokeywords | null | yes \ No newline at end of property |
svn:eol-style | null | native \ No newline at end of property |
svn:mime-type | null | text/plain \ No newline at end of property |
--- libcontainerd/supervisor/remote_daemon_freebsd.go.orig 2019-06-24 18:36:48 UTC | |||||
+++ libcontainerd/supervisor/remote_daemon_freebsd.go | |||||
@@ -0,0 +1,69 @@ | |||||
+package supervisor // import "github.com/docker/docker/libcontainerd/supervisor" | |||||
+ | |||||
+import ( | |||||
+ "os" | |||||
+ "path/filepath" | |||||
+ "syscall" | |||||
+ "time" | |||||
+ | |||||
+ "github.com/containerd/containerd/defaults" | |||||
+ "github.com/docker/docker/pkg/system" | |||||
+) | |||||
+ | |||||
+const ( | |||||
+ sockFile = "containerd.sock" | |||||
+ debugSockFile = "containerd-debug.sock" | |||||
+) | |||||
+ | |||||
+func (r *remote) setDefaults() { | |||||
+ if r.GRPC.Address == "" { | |||||
+ r.GRPC.Address = filepath.Join(r.stateDir, sockFile) | |||||
+ } | |||||
+ if r.GRPC.MaxRecvMsgSize == 0 { | |||||
+ r.GRPC.MaxRecvMsgSize = defaults.DefaultMaxRecvMsgSize | |||||
+ } | |||||
+ if r.GRPC.MaxSendMsgSize == 0 { | |||||
+ r.GRPC.MaxSendMsgSize = defaults.DefaultMaxSendMsgSize | |||||
+ } | |||||
+ if r.Debug.Address == "" { | |||||
+ r.Debug.Address = filepath.Join(r.stateDir, debugSockFile) | |||||
+ } | |||||
+ if r.OOMScore == 0 { | |||||
+ r.OOMScore = -999 | |||||
+ } | |||||
+ | |||||
+ for key, conf := range r.pluginConfs.Plugins { | |||||
+ if conf == nil { | |||||
+ r.DisabledPlugins = append(r.DisabledPlugins, key) | |||||
+ delete(r.pluginConfs.Plugins, key) | |||||
+ } | |||||
+ } | |||||
+} | |||||
+ | |||||
+func (r *remote) stopDaemon() { | |||||
+ // Ask the daemon to quit | |||||
+ syscall.Kill(r.daemonPid, syscall.SIGTERM) | |||||
+ // Wait up to 15secs for it to stop | |||||
+ for i := time.Duration(0); i < shutdownTimeout; i += time.Second { | |||||
+ if !system.IsProcessAlive(r.daemonPid) { | |||||
+ break | |||||
+ } | |||||
+ time.Sleep(time.Second) | |||||
+ } | |||||
+ | |||||
+ if system.IsProcessAlive(r.daemonPid) { | |||||
+ r.logger.WithField("pid", r.daemonPid).Warn("daemon didn't stop within 15 secs, killing it") | |||||
+ syscall.Kill(r.daemonPid, syscall.SIGKILL) | |||||
+ } | |||||
+} | |||||
+ | |||||
+func (r *remote) killDaemon() { | |||||
+ // Try to get a stack trace | |||||
+ syscall.Kill(r.daemonPid, syscall.SIGUSR1) | |||||
+ <-time.After(100 * time.Millisecond) | |||||
+ system.KillProcess(r.daemonPid) | |||||
+} | |||||
+ | |||||
+func (r *remote) platformCleanup() { | |||||
+ os.Remove(filepath.Join(r.stateDir, sockFile)) | |||||
+} |