Commit 76d45d9
gh-156780: Emscripten: move main() wrapping out of libpython
Running main() under WebAssembly.promising only makes sense when Python
is the program. Move the wrapper into Programs/emscripten_beforemain.c,
linked into the interpreter but not into libpython, and let the runtime
shut down normally afterwards so atexit handlers run and buffered output
is flushed. FS.createAsyncInputDevice() stays in libpython.
Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>1 parent 0a2c8f4 commit 76d45d9
5 files changed
Lines changed: 68 additions & 45 deletions
File tree
- Programs
- Python
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
970 | 970 | | |
971 | 971 | | |
972 | 972 | | |
| 973 | + | |
| 974 | + | |
| 975 | + | |
973 | 976 | | |
974 | | - | |
975 | | - | |
| 977 | + | |
| 978 | + | |
976 | 979 | | |
977 | 980 | | |
978 | 981 | | |
| |||
1614 | 1617 | | |
1615 | 1618 | | |
1616 | 1619 | | |
1617 | | - | |
1618 | | - | |
| 1620 | + | |
| 1621 | + | |
1619 | 1622 | | |
1620 | 1623 | | |
1621 | 1624 | | |
| |||
2235 | 2238 | | |
2236 | 2239 | | |
2237 | 2240 | | |
2238 | | - | |
| 2241 | + | |
2239 | 2242 | | |
2240 | 2243 | | |
2241 | 2244 | | |
| |||
2961 | 2964 | | |
2962 | 2965 | | |
2963 | 2966 | | |
| 2967 | + | |
| 2968 | + | |
| 2969 | + | |
2964 | 2970 | | |
2965 | 2971 | | |
2966 | 2972 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
| 1 | + | |
| 2 | + | |
| 3 | + | |
| 4 | + | |
| 5 | + | |
| 6 | + | |
| 7 | + | |
| 8 | + | |
| 9 | + | |
| 10 | + | |
| 11 | + | |
| 12 | + | |
| 13 | + | |
| 14 | + | |
| 15 | + | |
| 16 | + | |
| 17 | + | |
| 18 | + | |
| 19 | + | |
| 20 | + | |
| 21 | + | |
| 22 | + | |
| 23 | + | |
| 24 | + | |
| 25 | + | |
| 26 | + | |
| 27 | + | |
| 28 | + | |
| 29 | + | |
| 30 | + | |
| 31 | + | |
| 32 | + | |
| 33 | + | |
| 34 | + | |
| 35 | + | |
| 36 | + | |
| 37 | + | |
| 38 | + | |
| 39 | + | |
| 40 | + | |
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
54 | 54 | | |
55 | 55 | | |
56 | 56 | | |
57 | | - | |
58 | | - | |
59 | | - | |
60 | | - | |
61 | | - | |
62 | | - | |
63 | | - | |
| 57 | + | |
| 58 | + | |
| 59 | + | |
| 60 | + | |
| 61 | + | |
| 62 | + | |
| 63 | + | |
64 | 64 | | |
65 | 65 | | |
66 | 66 | | |
| |||
103 | 103 | | |
104 | 104 | | |
105 | 105 | | |
106 | | - | |
107 | | - | |
108 | | - | |
109 | | - | |
110 | | - | |
111 | | - | |
112 | | - | |
113 | | - | |
114 | | - | |
115 | | - | |
116 | | - | |
117 | | - | |
118 | | - | |
119 | | - | |
120 | | - | |
121 | | - | |
122 | | - | |
123 | | - | |
124 | | - | |
125 | | - | |
126 | | - | |
127 | | - | |
128 | | - | |
129 | | - | |
130 | | - | |
131 | | - | |
132 | | - | |
133 | 106 | | |
134 | 107 | | |
135 | | - | |
136 | | - | |
137 | | - | |
| 108 | + | |
138 | 109 | | |
139 | | - | |
140 | | - | |
| 110 | + | |
| 111 | + | |
141 | 112 | | |
142 | 113 | | |
143 | | - | |
144 | 114 | | |
145 | 115 | | |
146 | 116 | | |
| |||
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
5427 | 5427 | | |
5428 | 5428 | | |
5429 | 5429 | | |
| 5430 | + | |
5430 | 5431 | | |
5431 | 5432 | | |
5432 | 5433 | | |
5433 | 5434 | | |
| 5435 | + | |
5434 | 5436 | | |
5435 | 5437 | | |
5436 | 5438 | | |
| |||
5439 | 5441 | | |
5440 | 5442 | | |
5441 | 5443 | | |
| 5444 | + | |
5442 | 5445 | | |
5443 | 5446 | | |
5444 | 5447 | | |
| |||
0 commit comments