Removes deadlock

This commit is contained in:
riccardom
2026-06-16 21:57:07 +02:00
parent 13c78d98f5
commit 0f5d7fdc07

View File

@@ -296,7 +296,10 @@ func (c *ConnectClient) run(runCtx context.Context, config *profilemanager.Confi
log.Debug(err)
if s, ok := gstatus.FromError(err); ok && (s.Code() == codes.PermissionDenied) {
state.Set(StatusNeedsLogin)
_ = c.Stop()
// Called from inside the run goroutine: tear the engine down
// directly, never through the lifecycle queue (sup.stop would
// deadlock — the supervisor would wait for this very run to end).
_ = c.stopEngine()
return backoff.Permanent(wrapErr(err)) // unrecoverable error
}
return wrapErr(err)