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> {
71
71
} ) ;
72
72
73
73
req . on ( "error" , ( error ) => {
74
- reader . releaseLock ( ) ;
74
+ safeReleaseLock ( reader ) ;
75
75
reject ( error ) ;
76
76
} ) ;
77
77
78
78
req . on ( "timeout" , ( ) => {
79
- reader . releaseLock ( ) ;
79
+ safeReleaseLock ( reader ) ;
80
+
80
81
req . destroy ( new Error ( "Request timed out" ) ) ;
81
82
} ) ;
82
83
83
84
req . on ( "response" , ( res ) => {
84
85
if ( res . statusCode === 408 ) {
85
- reader . releaseLock ( ) ;
86
+ safeReleaseLock ( reader ) ;
86
87
87
88
if ( this . retryCount < this . maxRetries ) {
88
89
this . retryCount ++ ;
@@ -173,6 +174,12 @@ async function* streamToAsyncIterator<T>(stream: ReadableStream<T>): AsyncIterab
173
174
yield value ;
174
175
}
175
176
} finally {
176
- reader . releaseLock ( ) ;
177
+ safeReleaseLock ( reader ) ;
177
178
}
178
179
}
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