32 lines
999 B
Diff
32 lines
999 B
Diff
|
Copyright © 2022 Oleg Pykhalov <go.wigust@gmail.com>
|
||
|
|
||
|
Create a PID file after containerd is ready to serve requests.
|
||
|
|
||
|
Fixes <https://issues.guix.gnu.org/38432>.
|
||
|
|
||
|
--- a/cmd/containerd/command/notify_linux.go 1970-01-01 03:00:01.000000000 +0300
|
||
|
+++ b/cmd/containerd/command/notify_linux.go 2022-07-02 04:42:35.553753495 +0300
|
||
|
@@ -22,15 +22,22 @@
|
||
|
sd "github.com/coreos/go-systemd/v22/daemon"
|
||
|
|
||
|
"github.com/containerd/containerd/log"
|
||
|
+
|
||
|
+ "os"
|
||
|
+ "strconv"
|
||
|
)
|
||
|
|
||
|
// notifyReady notifies systemd that the daemon is ready to serve requests
|
||
|
func notifyReady(ctx context.Context) error {
|
||
|
+ pidFile, _ := os.Create("/run/containerd/containerd.pid")
|
||
|
+ defer pidFile.Close()
|
||
|
+ pidFile.WriteString(strconv.FormatInt(int64(os.Getpid()), 10))
|
||
|
return sdNotify(ctx, sd.SdNotifyReady)
|
||
|
}
|
||
|
|
||
|
// notifyStopping notifies systemd that the daemon is about to be stopped
|
||
|
func notifyStopping(ctx context.Context) error {
|
||
|
+ os.Remove("/run/containerd/containerd.pid")
|
||
|
return sdNotify(ctx, sd.SdNotifyStopping)
|
||
|
}
|
||
|
|