cv race condition
pause doesn’t need switch_to