1919package shim
2020
2121import (
22+ "bytes"
2223 "context"
2324 "net"
2425 "os"
26+ "os/exec"
2527
2628 winio "github.com/Microsoft/go-winio"
2729 "github.com/containerd/containerd/events"
30+ "github.com/containerd/containerd/namespaces"
2831 "github.com/containerd/ttrpc"
32+ "github.com/containerd/typeurl"
2933 "github.com/pkg/errors"
3034 "github.com/sirupsen/logrus"
3135)
3236
3337// setupSignals creates a new signal handler for all signals
3438func setupSignals () (chan os.Signal , error ) {
3539 signals := make (chan os.Signal , 32 )
36- // TODO: JTERRY75: Make this based on events.
3740 return signals , nil
3841}
3942
@@ -63,12 +66,11 @@ func serveListener(path string) (net.Listener, string, error) {
6366}
6467
6568func handleSignals (logger * logrus.Entry , signals chan os.Signal ) error {
66- // TODO: JTERRY75: Make this based on events?
69+ <- signals
6770 return nil
6871}
6972
7073func (l * remoteEventsPublisher ) Publish (ctx context.Context , topic string , event events.Event ) error {
71- /* TOOD: JTERRY75: Implement publish for windows
7274 ns , _ := namespaces .Namespace (ctx )
7375 encoded , err := typeurl .MarshalAny (event )
7476 if err != nil {
@@ -80,17 +82,5 @@ func (l *remoteEventsPublisher) Publish(ctx context.Context, topic string, event
8082 }
8183 cmd := exec .CommandContext (ctx , l .containerdBinaryPath , "--address" , l .address , "publish" , "--topic" , topic , "--namespace" , ns )
8284 cmd .Stdin = bytes .NewReader (data )
83- c, err := Default.Start(cmd)
84- if err != nil {
85- return err
86- }
87- status, err := Default.Wait(cmd, c)
88- if err != nil {
89- return err
90- }
91- if status != 0 {
92- return errors.New("failed to publish event")
93- }
94- */
95- return nil
85+ return cmd .Run ()
9686}
0 commit comments