File tree Expand file tree Collapse file tree 1 file changed +11
-4
lines changed
packages/core/src/v3/runMetadata Expand file tree Collapse file tree 1 file changed +11
-4
lines changed Original file line number Diff line number Diff line change @@ -71,18 +71,19 @@ export class MetadataStream<T> {
7171 } ) ;
7272
7373 req . on ( "error" , ( error ) => {
74- reader . releaseLock ( ) ;
74+ safeReleaseLock ( reader ) ;
7575 reject ( error ) ;
7676 } ) ;
7777
7878 req . on ( "timeout" , ( ) => {
79- reader . releaseLock ( ) ;
79+ safeReleaseLock ( reader ) ;
80+
8081 req . destroy ( new Error ( "Request timed out" ) ) ;
8182 } ) ;
8283
8384 req . on ( "response" , ( res ) => {
8485 if ( res . statusCode === 408 ) {
85- reader . releaseLock ( ) ;
86+ safeReleaseLock ( reader ) ;
8687
8788 if ( this . retryCount < this . maxRetries ) {
8889 this . retryCount ++ ;
@@ -173,6 +174,12 @@ async function* streamToAsyncIterator<T>(stream: ReadableStream<T>): AsyncIterab
173174 yield value ;
174175 }
175176 } finally {
176- reader . releaseLock ( ) ;
177+ safeReleaseLock ( reader ) ;
177178 }
178179}
180+
181+ function safeReleaseLock ( reader : ReadableStreamDefaultReader < any > ) {
182+ try {
183+ reader . releaseLock ( ) ;
184+ } catch ( error ) { }
185+ }
You can’t perform that action at this time.
0 commit comments