File tree Expand file tree Collapse file tree
src/agents/embedded-agent-runner/run Expand file tree Collapse file tree Original file line number Diff line number Diff line change @@ -659,23 +659,28 @@ export async function createEmbeddedAttemptSessionLockController(params: {
659659 }
660660
661661 async function waitForHeldLockDrain ( ) : Promise < void > {
662- while ( heldLockDraining ) {
662+ for ( ; ; ) {
663+ if ( ! heldLockDraining ) {
664+ return ;
665+ }
663666 await new Promise < void > ( ( resolve ) => {
664667 heldLockDrainWaiters . add ( resolve ) ;
665668 } ) ;
666669 }
667670 }
668671
669672 async function beginHeldLockDrain ( ) : Promise < symbol > {
670- while ( heldLockDraining ) {
673+ for ( ; ; ) {
674+ if ( ! heldLockDraining ) {
675+ const owner = Symbol ( "held-lock-drain" ) ;
676+ heldLockDraining = true ;
677+ heldLockDrainOwner = owner ;
678+ return owner ;
679+ }
671680 await new Promise < void > ( ( resolve ) => {
672681 heldLockDrainWaiters . add ( resolve ) ;
673682 } ) ;
674683 }
675- const owner = Symbol ( "held-lock-drain" ) ;
676- heldLockDraining = true ;
677- heldLockDrainOwner = owner ;
678- return owner ;
679684 }
680685
681686 function finishHeldLockDrain ( owner : symbol ) : void {
You can’t perform that action at this time.
0 commit comments