summaryrefslogtreecommitdiff
path: root/ext/cache/01_cache.js
diff options
context:
space:
mode:
authorMarcos Casagrande <marcoscvp90@gmail.com>2022-10-03 06:18:59 +0200
committerGitHub <noreply@github.com>2022-10-03 09:48:59 +0530
commite2990be264776d4d17e0fa982f74e1ad54624d0d (patch)
treed26a6d0bbd462c27b94be1da234876ace9044f28 /ext/cache/01_cache.js
parentb3444e0d3b3544816e0286dda3e861fd5debea65 (diff)
fix(ext/cache): close resource on error (#16129)
Diffstat (limited to 'ext/cache/01_cache.js')
-rw-r--r--ext/cache/01_cache.js16
1 files changed, 9 insertions, 7 deletions
diff --git a/ext/cache/01_cache.js b/ext/cache/01_cache.js
index c2843cedb..c22390a6d 100644
--- a/ext/cache/01_cache.js
+++ b/ext/cache/01_cache.js
@@ -141,15 +141,17 @@
},
);
if (reader) {
- while (true) {
- const { value, done } = await reader.read();
- if (done) {
- await core.shutdown(rid);
- core.close(rid);
- break;
- } else {
+ try {
+ while (true) {
+ const { value, done } = await reader.read();
+ if (done) {
+ break;
+ }
await core.write(rid, value);
}
+ } finally {
+ await core.shutdown(rid);
+ core.close(rid);
}
}
// Step 12-19: TODO(@satyarohith): do the insertion in background.