From a16aed1db22739e7dea8098c79bc1963b871b5ec Mon Sep 17 00:00:00 2001 From: Taras Madan Date: Wed, 21 Jan 2026 20:00:38 +0100 Subject: all: fix context.Context usage --- pkg/rpcserver/local.go | 38 +++++++++++++++++++------------------- pkg/rpcserver/rpcserver.go | 4 ++-- 2 files changed, 21 insertions(+), 21 deletions(-) (limited to 'pkg/rpcserver') diff --git a/pkg/rpcserver/local.go b/pkg/rpcserver/local.go index c406cb9ed..4a0dd5389 100644 --- a/pkg/rpcserver/local.go +++ b/pkg/rpcserver/local.go @@ -114,35 +114,35 @@ type local struct { setupDone chan bool } -func (ctx *local) MachineChecked(features flatrpc.Feature, syscalls map[*prog.Syscall]bool) (queue.Source, error) { - <-ctx.setupDone - ctx.serv.TriagedCorpus() - return ctx.cfg.MachineChecked(features, syscalls), nil +func (l *local) MachineChecked(features flatrpc.Feature, syscalls map[*prog.Syscall]bool) (queue.Source, error) { + <-l.setupDone + l.serv.TriagedCorpus() + return l.cfg.MachineChecked(features, syscalls), nil } -func (ctx *local) BugFrames() ([]string, []string) { +func (l *local) BugFrames() ([]string, []string) { return nil, nil } -func (ctx *local) MaxSignal() signal.Signal { - return signal.FromRaw(ctx.cfg.MaxSignal, 0) +func (l *local) MaxSignal() signal.Signal { + return signal.FromRaw(l.cfg.MaxSignal, 0) } -func (ctx *local) CoverageFilter(modules []*vminfo.KernelModule) ([]uint64, error) { - return ctx.cfg.CoverFilter, nil +func (l *local) CoverageFilter(modules []*vminfo.KernelModule) ([]uint64, error) { + return l.cfg.CoverFilter, nil } -func (ctx *local) Serve(context context.Context) error { - return ctx.serv.Serve(context) +func (l *local) Serve(ctx context.Context) error { + return l.serv.Serve(ctx) } -func (ctx *local) RunInstance(baseCtx context.Context, id int) error { - connErr := ctx.serv.CreateInstance(id, nil, nil) - defer ctx.serv.ShutdownInstance(id, true) +func (l *local) RunInstance(ctx context.Context, id int) error { + connErr := l.serv.CreateInstance(id, nil, nil) + defer l.serv.ShutdownInstance(id, true) - cfg := ctx.cfg + cfg := l.cfg bin := cfg.Executor - args := []string{"runner", fmt.Sprint(id), "localhost", fmt.Sprint(ctx.serv.Port())} + args := []string{"runner", fmt.Sprint(id), "localhost", fmt.Sprint(l.serv.Port())} if cfg.GDB { bin = "gdb" args = append([]string{ @@ -152,7 +152,7 @@ func (ctx *local) RunInstance(baseCtx context.Context, id int) error { cfg.Executor, }, args...) } - cmd := exec.CommandContext(baseCtx, bin, args...) + cmd := exec.CommandContext(ctx, bin, args...) cmd.Dir = cfg.Dir if cfg.OutputWriter != nil { cmd.Stdout = cfg.OutputWriter @@ -169,7 +169,7 @@ func (ctx *local) RunInstance(baseCtx context.Context, id int) error { } var retErr error select { - case <-baseCtx.Done(): + case <-ctx.Done(): case err := <-connErr: if err != nil { retErr = fmt.Errorf("connection error: %w", err) @@ -181,7 +181,7 @@ func (ctx *local) RunInstance(baseCtx context.Context, id int) error { retErr = fmt.Errorf("executor process exited: %w", err) } // Note that we ignore the error if we killed the process because of the context. - if baseCtx.Err() == nil { + if ctx.Err() == nil { return retErr } return nil diff --git a/pkg/rpcserver/rpcserver.go b/pkg/rpcserver/rpcserver.go index b0ab14c17..04c5d877f 100644 --- a/pkg/rpcserver/rpcserver.go +++ b/pkg/rpcserver/rpcserver.go @@ -408,11 +408,11 @@ func (serv *server) handleMachineInfo(infoReq *flatrpc.InfoRequestRawT) (handsha }, nil } -func (serv *server) connectionLoop(baseCtx context.Context, runner *Runner) error { +func (serv *server) connectionLoop(ctx context.Context, runner *Runner) error { // To "cancel" the runner's loop we need to call runner.Stop(). // At the same time, we don't want to leak the goroutine that monitors it, // so we derive a new context and cancel it on function exit. - ctx, cancel := context.WithCancel(baseCtx) + ctx, cancel := context.WithCancel(ctx) defer cancel() go func() { <-ctx.Done() -- cgit mrf-deployment