@ai-ecoverse/slicc-kernel 1.77.1 → 1.77.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -5799,6 +5799,7 @@ var init_wasi_fds = __esm({
5799
5799
  WasiFds = class {
5800
5800
  table = /* @__PURE__ */ new Map();
5801
5801
  buffers = /* @__PURE__ */ new Map();
5802
+ reported = /* @__PURE__ */ new WeakSet();
5802
5803
  byId = /* @__PURE__ */ new Map();
5803
5804
  ids = /* @__PURE__ */ new Map();
5804
5805
  kernel;
@@ -6123,7 +6124,16 @@ var init_wasi_fds = __esm({
6123
6124
  release(e) {
6124
6125
  if (e.type !== "file" || --e.file.refs > 0) return;
6125
6126
  const { buffer } = e.file;
6126
- buffer.flush();
6127
+ try {
6128
+ buffer.flush();
6129
+ } catch (err) {
6130
+ this.reported.add(buffer);
6131
+ this.drop(buffer);
6132
+ throw err;
6133
+ }
6134
+ this.drop(buffer);
6135
+ }
6136
+ drop(buffer) {
6127
6137
  if (--buffer.opens > 0) return;
6128
6138
  this.forget(buffer);
6129
6139
  this.letGo(buffer);
@@ -6178,7 +6188,13 @@ var init_wasi_fds = __esm({
6178
6188
  return e.kind;
6179
6189
  }
6180
6190
  flushAll() {
6181
- for (const buffer of this.buffers.values()) buffer.flush();
6191
+ for (const buffer of this.buffers.values()) {
6192
+ try {
6193
+ buffer.flush();
6194
+ } catch (err) {
6195
+ if (!this.reported.has(buffer)) throw err;
6196
+ }
6197
+ }
6182
6198
  }
6183
6199
  flushEarly() {
6184
6200
  for (const buffer of this.buffers.values()) {