Test that RunSync doesn't hold q.mu and block Shutdown as we saw in tailscale/tailscale#18502
(t *testing.T)
| 24 | // Test that RunSync doesn't hold q.mu and block Shutdown |
| 25 | // as we saw in tailscale/tailscale#18502 |
| 26 | func TestExecQueueRunSyncLocking(t *testing.T) { |
| 27 | q := &ExecQueue{} |
| 28 | q.RunSync(t.Context(), func() { |
| 29 | q.Shutdown() |
| 30 | }) |
| 31 | } |