Skip to content

Commit 48258d4

Browse files
authored
Fix memfs init racing with FS.staticInit. NFC (#24527)
Fixes: #24523
1 parent a7f4c56 commit 48258d4

20 files changed

+26
-28
lines changed

src/lib/libmemfs.js

Lines changed: 7 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -6,15 +6,6 @@
66

77
addToLibrary({
88
$MEMFS__deps: ['$FS', '$mmapAlloc'],
9-
#if !ASSERTIONS
10-
$MEMFS__postset: `
11-
// This error may happen quite a bit. To avoid overhead we reuse it (and
12-
// suffer a lack of stack info).
13-
MEMFS.doesNotExistError = new FS.ErrnoError({{{ cDefs.ENOENT }}});
14-
/** @suppress {checkTypes} */
15-
MEMFS.doesNotExistError.stack = '<generic error, no stack>';
16-
`,
17-
#endif
189
$MEMFS: {
1910
ops_table: null,
2011
mount(mount) {
@@ -183,6 +174,13 @@ addToLibrary({
183174
#if ASSERTIONS
184175
throw new FS.ErrnoError({{{ cDefs.ENOENT }}});
185176
#else
177+
// This error may happen quite a bit. To avoid overhead we reuse it (and
178+
// suffer a lack of stack info).
179+
if (!MEMFS.doesNotExistError) {
180+
MEMFS.doesNotExistError = new FS.ErrnoError({{{ cDefs.ENOENT }}});
181+
/** @suppress {checkTypes} */
182+
MEMFS.doesNotExistError.stack = '<generic error, no stack>';
183+
}
186184
throw MEMFS.doesNotExistError;
187185
#endif
188186
},
Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1 +1 @@
1-
8168
1+
8167
Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1 +1 @@
1-
19792
1+
19798
Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1 +1 @@
1-
8158
1+
8155
Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1 +1 @@
1-
19770
1+
19776
Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1 +1 @@
1-
9148
1+
9154
Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1 +1 @@
1-
23452
1+
23459
Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1 +1 @@
1-
8113
1+
8115
Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1 +1 @@
1-
19681
1+
19687
Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1 +1 @@
1-
8113
1+
8115

0 commit comments

Comments
 (0)