File tree Expand file tree Collapse file tree 1 file changed +5
-4
lines changed
src/services/code-index/embedders Expand file tree Collapse file tree 1 file changed +5
-4
lines changed Original file line number Diff line number Diff line change @@ -315,13 +315,16 @@ export class OpenRouterEmbedder implements IEmbedder {
315315 */
316316 private async waitForGlobalRateLimit ( ) : Promise < void > {
317317 const release = await OpenRouterEmbedder . globalRateLimitState . mutex . acquire ( )
318+ let mutexReleased = false
319+
318320 try {
319321 const state = OpenRouterEmbedder . globalRateLimitState
320322
321323 if ( state . isRateLimited && state . rateLimitResetTime > Date . now ( ) ) {
322324 const waitTime = state . rateLimitResetTime - Date . now ( )
323325 // Silent wait - no logging to prevent flooding
324- release ( ) // Release mutex before waiting
326+ release ( )
327+ mutexReleased = true
325328 await new Promise ( ( resolve ) => setTimeout ( resolve , waitTime ) )
326329 return
327330 }
@@ -333,10 +336,8 @@ export class OpenRouterEmbedder implements IEmbedder {
333336 }
334337 } finally {
335338 // Only release if we haven't already
336- try {
339+ if ( ! mutexReleased ) {
337340 release ( )
338- } catch {
339- // Already released
340341 }
341342 }
342343 }
You can’t perform that action at this time.
0 commit comments