Skip to content

Commit bc4262f

Browse files
committed
Pass cancellable context to newInterfaceDiscovery
Allow interface discovery subscription to be cancelled by passing signal handler context instead of using context.Background(). Signed-off-by: Andrew McDermott <[email protected]>
1 parent 5e7c36e commit bc4262f

File tree

1 file changed

+6
-5
lines changed

1 file changed

+6
-5
lines changed

cmd/bpfman-agent/main.go

Lines changed: 6 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -100,12 +100,11 @@ type interfaceDiscovery struct {
100100
// method to process events.
101101
//
102102
// Returns an error if the subscription to interface events fails.
103-
func newInterfaceDiscovery(interfaces *sync.Map) (*interfaceDiscovery, error) {
103+
func newInterfaceDiscovery(ctx context.Context, interfaces *sync.Map) (*interfaceDiscovery, error) {
104104
informer := ifaces.NewWatcher(buffersLength)
105105
registerer := ifaces.NewRegisterer(informer, buffersLength)
106106

107-
setupCtx := context.Background()
108-
ifaceEvents, err := registerer.Subscribe(setupCtx)
107+
ifaceEvents, err := registerer.Subscribe(ctx)
109108
if err != nil {
110109
return nil, fmt.Errorf("subscribing to interface events: %w", err)
111110
}
@@ -424,17 +423,19 @@ func main() {
424423
os.Exit(1)
425424
}
426425

426+
ctx := ctrl.SetupSignalHandler()
427+
427428
var ifaceDiscovery *interfaceDiscovery
428429
if enableInterfacesDiscovery {
429-
ifaceDiscovery, err = newInterfaceDiscovery(commonApp.Interfaces)
430+
ifaceDiscovery, err = newInterfaceDiscovery(ctx, commonApp.Interfaces)
430431
if err != nil {
431432
setupLog.Error(err, "failed to set up interface discovery")
432433
os.Exit(1)
433434
}
434435
}
435436

436437
setupLog.Info("starting Bpfman-Agent")
437-
if err := runAgent(ctrl.SetupSignalHandler(), mgr, metricsServer, ifaceDiscovery, ctrl.Log.WithName("agent")); err != nil {
438+
if err := runAgent(ctx, mgr, metricsServer, ifaceDiscovery, ctrl.Log.WithName("agent")); err != nil {
438439
setupLog.Error(err, "agent runtime failed, exiting")
439440
os.Exit(1)
440441
}

0 commit comments

Comments
 (0)