diff --git a/internal/app/cmd/daemon.go b/internal/app/cmd/daemon.go index 2578c44..0c31c42 100644 --- a/internal/app/cmd/daemon.go +++ b/internal/app/cmd/daemon.go @@ -218,7 +218,7 @@ func runDaemon(ctx context.Context, daemArgs *daemonArgs, configFile *string) fu } }() - poller := poll.New(ctx, cfg, cli, runner) + poller := poll.New(cfg, cli, runner) poller.SetBandwidthManager(bandwidthManager) if daemArgs.Once || reg.Ephemeral { diff --git a/internal/app/poll/poller.go b/internal/app/poll/poller.go index 2d9efaf..7a77b64 100644 --- a/internal/app/poll/poller.go +++ b/internal/app/poll/poller.go @@ -40,11 +40,11 @@ type Poller struct { done chan struct{} } -// New creates a new Poller instance with the given context for shutdown propagation. -func New(ctx context.Context, cfg *config.Config, client client.Client, runner *run.Runner) *Poller { - // Inherit from parent context so shutdown signals propagate properly - pollingCtx, shutdownPolling := context.WithCancel(ctx) - jobsCtx, shutdownJobs := context.WithCancel(ctx) +// New creates a new Poller instance. +func New(cfg *config.Config, client client.Client, runner *run.Runner) *Poller { + // Use independent contexts - shutdown is handled explicitly via Shutdown() + pollingCtx, shutdownPolling := context.WithCancel(context.Background()) + jobsCtx, shutdownJobs := context.WithCancel(context.Background()) done := make(chan struct{})