@php-wasm/web-8-5 3.1.61 → 3.1.63

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.
@@ -1,8 +1,8 @@
1
- const dependencyFilename = new URL('./8_5_10/php_8_5.wasm', import.meta.url)
1
+ const dependencyFilename = new URL('./8_5_12/php_8_5.wasm', import.meta.url)
2
2
  .href;
3
3
  export { dependencyFilename };
4
- export const dependenciesTotalSize = 21026840;
5
- const phpVersionString = '8.5.10';
4
+ export const dependenciesTotalSize = 21057841;
5
+ const phpVersionString = '8.5.12';
6
6
  export function init(RuntimeName, PHPLoader) {
7
7
  // The rest of the code comes from the built php.js file and esm-suffix.js
8
8
  var Module = typeof PHPLoader != 'undefined' ? PHPLoader : {};
@@ -6547,6 +6547,13 @@ export function init(RuntimeName, PHPLoader) {
6547
6547
  return false;
6548
6548
  };
6549
6549
  _emscripten_resize_heap.sig = 'ip';
6550
+ var runAndAbortIfError = (func) => {
6551
+ try {
6552
+ return func();
6553
+ } catch (e) {
6554
+ abort(e);
6555
+ }
6556
+ };
6550
6557
  var runtimeKeepalivePush = () => {
6551
6558
  runtimeKeepaliveCounter += 1;
6552
6559
  };
@@ -6555,6 +6562,193 @@ export function init(RuntimeName, PHPLoader) {
6555
6562
  runtimeKeepaliveCounter -= 1;
6556
6563
  };
6557
6564
  runtimeKeepalivePop.sig = 'v';
6565
+ var Asyncify = {
6566
+ instrumentWasmImports(imports) {
6567
+ var importPattern =
6568
+ /^(invoke_i|invoke_ii|invoke_iii|invoke_iiii|invoke_iiiii|invoke_iiiiii|invoke_iiiiiii|invoke_iiiiiiii|invoke_iiiiiiiii|invoke_iiiiiiiiii|invoke_v|invoke_vi|invoke_vii|invoke_viidii|invoke_viii|invoke_viiii|invoke_viiiii|invoke_viiiiii|invoke_viiiiiii|invoke_viiiiiiiii|invoke_i|invoke_ii|invoke_iii|invoke_iiii|invoke_iiiii|invoke_iiiiii|invoke_iiiiiii|invoke_iiiiiiii|invoke_iiiiiiiiii|invoke_iij|invoke_iiji|invoke_iiij|invoke_iijii|invoke_iijiji|invoke_jii|invoke_jiii|invoke_viijii|invoke_vji|js_open_process|_js_open_process|_asyncjs__js_open_process|js_popen_to_file|_js_popen_to_file|_asyncjs__js_popen_to_file|__syscall_fcntl64|___syscall_fcntl64|_asyncjs___syscall_fcntl64|js_release_file_locks|_js_release_file_locks|_async_js_release_file_locks|js_flock|_js_flock|_async_js_flock|js_fd_read|_js_fd_read|fd_close|_fd_close|_asyncjs__fd_close|close|_close|js_module_onMessage|zend_hash_str_find|_js_module_onMessage|_asyncjs__js_module_onMessage|js_waitpid|_js_waitpid|_asyncjs__js_waitpid|wasm_poll_socket|_wasm_poll_socket|_asyncjs__wasm_poll_socket|_wasm_shutdown|_asyncjs__wasm_shutdown|recv|_recv|setsockopt|_setsockopt|wasm_connect|_wasm_connect|__asyncjs__.*)$/;
6569
+ for (let [x, original] of Object.entries(imports)) {
6570
+ if (typeof original == 'function') {
6571
+ let isAsyncifyImport =
6572
+ original.isAsync || importPattern.test(x);
6573
+ }
6574
+ }
6575
+ },
6576
+ instrumentFunction(original) {
6577
+ var wrapper = (...args) => {
6578
+ Asyncify.exportCallStack.push(original);
6579
+ try {
6580
+ return original(...args);
6581
+ } finally {
6582
+ if (!ABORT) {
6583
+ var top = Asyncify.exportCallStack.pop();
6584
+ Asyncify.maybeStopUnwind();
6585
+ }
6586
+ }
6587
+ };
6588
+ Asyncify.funcWrappers.set(original, wrapper);
6589
+ wrapper.orig = original;
6590
+ return wrapper;
6591
+ },
6592
+ instrumentWasmExports(exports) {
6593
+ var ret = {};
6594
+ for (let [x, original] of Object.entries(exports)) {
6595
+ if (typeof original == 'function') {
6596
+ var wrapper = Asyncify.instrumentFunction(original);
6597
+ ret[x] = wrapper;
6598
+ } else {
6599
+ ret[x] = original;
6600
+ }
6601
+ }
6602
+ return ret;
6603
+ },
6604
+ State: { Normal: 0, Unwinding: 1, Rewinding: 2, Disabled: 3 },
6605
+ state: 0,
6606
+ StackSize: 4096,
6607
+ currData: null,
6608
+ handleSleepReturnValue: 0,
6609
+ exportCallStack: [],
6610
+ callstackFuncToId: new Map(),
6611
+ callStackIdToFunc: new Map(),
6612
+ funcWrappers: new Map(),
6613
+ callStackId: 0,
6614
+ asyncPromiseHandlers: null,
6615
+ sleepCallbacks: [],
6616
+ getCallStackId(func) {
6617
+ if (!Asyncify.callstackFuncToId.has(func)) {
6618
+ var id = Asyncify.callStackId++;
6619
+ Asyncify.callstackFuncToId.set(func, id);
6620
+ Asyncify.callStackIdToFunc.set(id, func);
6621
+ }
6622
+ return Asyncify.callstackFuncToId.get(func);
6623
+ },
6624
+ maybeStopUnwind() {
6625
+ if (
6626
+ Asyncify.currData &&
6627
+ Asyncify.state === Asyncify.State.Unwinding &&
6628
+ Asyncify.exportCallStack.length === 0
6629
+ ) {
6630
+ Asyncify.state = Asyncify.State.Normal;
6631
+ runtimeKeepalivePush();
6632
+ runAndAbortIfError(_asyncify_stop_unwind);
6633
+ if (typeof Fibers != 'undefined') {
6634
+ Fibers.trampoline();
6635
+ }
6636
+ }
6637
+ },
6638
+ whenDone() {
6639
+ return new Promise((resolve, reject) => {
6640
+ Asyncify.asyncPromiseHandlers = { resolve, reject };
6641
+ });
6642
+ },
6643
+ allocateData() {
6644
+ var ptr = _malloc(12 + Asyncify.StackSize);
6645
+ Asyncify.setDataHeader(ptr, ptr + 12, Asyncify.StackSize);
6646
+ Asyncify.setDataRewindFunc(ptr);
6647
+ return ptr;
6648
+ },
6649
+ setDataHeader(ptr, stack, stackSize) {
6650
+ HEAPU32[ptr >> 2] = stack;
6651
+ HEAPU32[(ptr + 4) >> 2] = stack + stackSize;
6652
+ },
6653
+ setDataRewindFunc(ptr) {
6654
+ var bottomOfCallStack = Asyncify.exportCallStack[0];
6655
+ var rewindId = Asyncify.getCallStackId(bottomOfCallStack);
6656
+ HEAP32[(ptr + 8) >> 2] = rewindId;
6657
+ },
6658
+ getDataRewindFunc(ptr) {
6659
+ var id = HEAP32[(ptr + 8) >> 2];
6660
+ var func = Asyncify.callStackIdToFunc.get(id);
6661
+ return func;
6662
+ },
6663
+ doRewind(ptr) {
6664
+ var original = Asyncify.getDataRewindFunc(ptr);
6665
+ var func = Asyncify.funcWrappers.get(original);
6666
+ runtimeKeepalivePop();
6667
+ return func();
6668
+ },
6669
+ handleSleep(startAsync) {
6670
+ if (ABORT) return;
6671
+ if (Asyncify.state === Asyncify.State.Normal) {
6672
+ var reachedCallback = false;
6673
+ var reachedAfterCallback = false;
6674
+ startAsync((handleSleepReturnValue = 0) => {
6675
+ if (ABORT) return;
6676
+ Asyncify.handleSleepReturnValue = handleSleepReturnValue;
6677
+ reachedCallback = true;
6678
+ if (!reachedAfterCallback) {
6679
+ return;
6680
+ }
6681
+ Asyncify.state = Asyncify.State.Rewinding;
6682
+ runAndAbortIfError(() =>
6683
+ _asyncify_start_rewind(Asyncify.currData)
6684
+ );
6685
+ if (typeof MainLoop != 'undefined' && MainLoop.func) {
6686
+ MainLoop.resume();
6687
+ }
6688
+ var asyncWasmReturnValue,
6689
+ isError = false;
6690
+ try {
6691
+ asyncWasmReturnValue = Asyncify.doRewind(
6692
+ Asyncify.currData
6693
+ );
6694
+ } catch (err) {
6695
+ asyncWasmReturnValue = err;
6696
+ isError = true;
6697
+ }
6698
+ var handled = false;
6699
+ if (!Asyncify.currData) {
6700
+ var asyncPromiseHandlers =
6701
+ Asyncify.asyncPromiseHandlers;
6702
+ if (asyncPromiseHandlers) {
6703
+ Asyncify.asyncPromiseHandlers = null;
6704
+ (isError
6705
+ ? asyncPromiseHandlers.reject
6706
+ : asyncPromiseHandlers.resolve)(
6707
+ asyncWasmReturnValue
6708
+ );
6709
+ handled = true;
6710
+ }
6711
+ }
6712
+ if (isError && !handled) {
6713
+ throw asyncWasmReturnValue;
6714
+ }
6715
+ });
6716
+ reachedAfterCallback = true;
6717
+ if (!reachedCallback) {
6718
+ Asyncify.state = Asyncify.State.Unwinding;
6719
+ if (!Asyncify._cachedData) {
6720
+ Asyncify._cachedData = Asyncify.allocateData();
6721
+ } else {
6722
+ Asyncify.setDataHeader(
6723
+ Asyncify._cachedData,
6724
+ Asyncify._cachedData + 12,
6725
+ Asyncify.StackSize
6726
+ );
6727
+ Asyncify.setDataRewindFunc(Asyncify._cachedData);
6728
+ }
6729
+ Asyncify.currData = Asyncify._cachedData;
6730
+ if (typeof MainLoop != 'undefined' && MainLoop.func) {
6731
+ MainLoop.pause();
6732
+ }
6733
+ runAndAbortIfError(() =>
6734
+ _asyncify_start_unwind(Asyncify.currData)
6735
+ );
6736
+ }
6737
+ } else if (Asyncify.state === Asyncify.State.Rewinding) {
6738
+ Asyncify.state = Asyncify.State.Normal;
6739
+ runAndAbortIfError(_asyncify_stop_rewind);
6740
+ Asyncify.currData = null;
6741
+ Asyncify.sleepCallbacks.forEach(callUserCallback);
6742
+ } else {
6743
+ abort(`invalid state: ${Asyncify.state}`);
6744
+ }
6745
+ return Asyncify.handleSleepReturnValue;
6746
+ },
6747
+ handleAsync: (startAsync) =>
6748
+ Asyncify.handleSleep((wakeUp) => {
6749
+ startAsync().then(wakeUp);
6750
+ }),
6751
+ };
6558
6752
  var safeSetTimeout = (func, timeout) => {
6559
6753
  runtimeKeepalivePush();
6560
6754
  return setTimeout(() => {
@@ -6564,9 +6758,6 @@ export function init(RuntimeName, PHPLoader) {
6564
6758
  };
6565
6759
  var _emscripten_sleep = function (ms) {
6566
6760
  return Asyncify.handleSleep((wakeUp) => {
6567
- // select() yields between socket reads. Nested zero-delay timers are
6568
- // clamped by browsers, adding seconds to even a local curl download.
6569
- // Use a task (not a microtask) so network events still get a turn.
6570
6761
  if (ms === 0 && globalThis.scheduler?.postTask) {
6571
6762
  runtimeKeepalivePush();
6572
6763
  globalThis.scheduler.postTask(() => {
@@ -6997,13 +7188,11 @@ export function init(RuntimeName, PHPLoader) {
6997
7188
  envLength
6998
7189
  ) {
6999
7190
  if (!command) {
7000
- ___errno_location(ERRNO_CODES.EINVAL);
7001
- return -1;
7191
+ return -ERRNO_CODES.EINVAL;
7002
7192
  }
7003
7193
  const cmdstr = UTF8ToString(command);
7004
7194
  if (!cmdstr.length) {
7005
- ___errno_location(ERRNO_CODES.EINVAL);
7006
- return -1;
7195
+ return -ERRNO_CODES.EINVAL;
7007
7196
  }
7008
7197
  let argsArray = [];
7009
7198
  if (argsLength) {
@@ -7058,13 +7247,11 @@ export function init(RuntimeName, PHPLoader) {
7058
7247
  }
7059
7248
  } catch (e) {
7060
7249
  if (e.code === 'SPAWN_UNSUPPORTED') {
7061
- ___errno_location(ERRNO_CODES.ENOSYS);
7062
- return -1;
7250
+ return -ERRNO_CODES.ENOSYS;
7063
7251
  }
7064
7252
  if (typeof FS == 'undefined' || !(e.name === 'ErrnoError'))
7065
7253
  throw e;
7066
- ___errno_location(e.code);
7067
- return -1;
7254
+ return -e.errno;
7068
7255
  }
7069
7256
  const ProcInfo = { pid: cp.pid, exited: false };
7070
7257
  PHPWASM.processTable[ProcInfo.pid] = ProcInfo;
@@ -7075,7 +7262,12 @@ export function init(RuntimeName, PHPLoader) {
7075
7262
  stderrChildFd = std[2]?.child,
7076
7263
  stderrParentFd = std[2]?.parent;
7077
7264
  const detachPipeDataListeners = [];
7078
- cp.on('exit', function (code) {
7265
+ let childPipesClosed = false;
7266
+ const closeChildPipes = function () {
7267
+ if (childPipesClosed) {
7268
+ return;
7269
+ }
7270
+ childPipesClosed = true;
7079
7271
  for (const detach of detachPipeDataListeners) {
7080
7272
  detach();
7081
7273
  }
@@ -7084,6 +7276,9 @@ export function init(RuntimeName, PHPLoader) {
7084
7276
  FS.close(FS.streams[fd]);
7085
7277
  }
7086
7278
  }
7279
+ };
7280
+ cp.on('exit', function (code) {
7281
+ closeChildPipes();
7087
7282
  ProcInfo.exitCode = code;
7088
7283
  ProcInfo.exited = true;
7089
7284
  });
@@ -7163,6 +7358,10 @@ export function init(RuntimeName, PHPLoader) {
7163
7358
  });
7164
7359
  } catch (e) {
7165
7360
  console.error(e);
7361
+ closeChildPipes();
7362
+ if (!ProcInfo.pid) {
7363
+ return -(ERRNO_CODES[e.code] ?? ERRNO_CODES.ECHILD);
7364
+ }
7166
7365
  return ProcInfo.pid;
7167
7366
  }
7168
7367
  if (stdinChildFd) {
@@ -7642,200 +7841,6 @@ export function init(RuntimeName, PHPLoader) {
7642
7841
  function _wasm_shutdown(socketd, how) {
7643
7842
  return PHPWASM.shutdownSocket(socketd, how);
7644
7843
  }
7645
- var runAndAbortIfError = (func) => {
7646
- try {
7647
- return func();
7648
- } catch (e) {
7649
- abort(e);
7650
- }
7651
- };
7652
- var Asyncify = {
7653
- instrumentWasmImports(imports) {
7654
- var importPattern =
7655
- /^(invoke_i|invoke_ii|invoke_iii|invoke_iiii|invoke_iiiii|invoke_iiiiii|invoke_iiiiiii|invoke_iiiiiiii|invoke_iiiiiiiii|invoke_iiiiiiiiii|invoke_v|invoke_vi|invoke_vii|invoke_viidii|invoke_viii|invoke_viiii|invoke_viiiii|invoke_viiiiii|invoke_viiiiiii|invoke_viiiiiiiii|invoke_i|invoke_ii|invoke_iii|invoke_iiii|invoke_iiiii|invoke_iiiiii|invoke_iiiiiii|invoke_iiiiiiii|invoke_iiiiiiiiii|invoke_iij|invoke_iiji|invoke_iiij|invoke_iijii|invoke_iijiji|invoke_jii|invoke_jiii|invoke_viijii|invoke_vji|js_open_process|_js_open_process|_asyncjs__js_open_process|js_popen_to_file|_js_popen_to_file|_asyncjs__js_popen_to_file|__syscall_fcntl64|___syscall_fcntl64|_asyncjs___syscall_fcntl64|js_release_file_locks|_js_release_file_locks|_async_js_release_file_locks|js_flock|_js_flock|_async_js_flock|js_fd_read|_js_fd_read|fd_close|_fd_close|_asyncjs__fd_close|close|_close|js_module_onMessage|zend_hash_str_find|_js_module_onMessage|_asyncjs__js_module_onMessage|js_waitpid|_js_waitpid|_asyncjs__js_waitpid|wasm_poll_socket|_wasm_poll_socket|_asyncjs__wasm_poll_socket|_wasm_shutdown|_asyncjs__wasm_shutdown|recv|_recv|setsockopt|_setsockopt|wasm_connect|_wasm_connect|__asyncjs__.*)$/;
7656
- for (let [x, original] of Object.entries(imports)) {
7657
- if (typeof original == 'function') {
7658
- let isAsyncifyImport =
7659
- original.isAsync || importPattern.test(x);
7660
- }
7661
- }
7662
- },
7663
- instrumentFunction(original) {
7664
- var wrapper = (...args) => {
7665
- Asyncify.exportCallStack.push(original);
7666
- try {
7667
- return original(...args);
7668
- } finally {
7669
- if (!ABORT) {
7670
- var top = Asyncify.exportCallStack.pop();
7671
- Asyncify.maybeStopUnwind();
7672
- }
7673
- }
7674
- };
7675
- Asyncify.funcWrappers.set(original, wrapper);
7676
- wrapper.orig = original;
7677
- return wrapper;
7678
- },
7679
- instrumentWasmExports(exports) {
7680
- var ret = {};
7681
- for (let [x, original] of Object.entries(exports)) {
7682
- if (typeof original == 'function') {
7683
- var wrapper = Asyncify.instrumentFunction(original);
7684
- ret[x] = wrapper;
7685
- } else {
7686
- ret[x] = original;
7687
- }
7688
- }
7689
- return ret;
7690
- },
7691
- State: { Normal: 0, Unwinding: 1, Rewinding: 2, Disabled: 3 },
7692
- state: 0,
7693
- StackSize: 4096,
7694
- currData: null,
7695
- handleSleepReturnValue: 0,
7696
- exportCallStack: [],
7697
- callstackFuncToId: new Map(),
7698
- callStackIdToFunc: new Map(),
7699
- funcWrappers: new Map(),
7700
- callStackId: 0,
7701
- asyncPromiseHandlers: null,
7702
- sleepCallbacks: [],
7703
- getCallStackId(func) {
7704
- if (!Asyncify.callstackFuncToId.has(func)) {
7705
- var id = Asyncify.callStackId++;
7706
- Asyncify.callstackFuncToId.set(func, id);
7707
- Asyncify.callStackIdToFunc.set(id, func);
7708
- }
7709
- return Asyncify.callstackFuncToId.get(func);
7710
- },
7711
- maybeStopUnwind() {
7712
- if (
7713
- Asyncify.currData &&
7714
- Asyncify.state === Asyncify.State.Unwinding &&
7715
- Asyncify.exportCallStack.length === 0
7716
- ) {
7717
- Asyncify.state = Asyncify.State.Normal;
7718
- runtimeKeepalivePush();
7719
- runAndAbortIfError(_asyncify_stop_unwind);
7720
- if (typeof Fibers != 'undefined') {
7721
- Fibers.trampoline();
7722
- }
7723
- }
7724
- },
7725
- whenDone() {
7726
- return new Promise((resolve, reject) => {
7727
- Asyncify.asyncPromiseHandlers = { resolve, reject };
7728
- });
7729
- },
7730
- allocateData() {
7731
- var ptr = _malloc(12 + Asyncify.StackSize);
7732
- Asyncify.setDataHeader(ptr, ptr + 12, Asyncify.StackSize);
7733
- Asyncify.setDataRewindFunc(ptr);
7734
- return ptr;
7735
- },
7736
- setDataHeader(ptr, stack, stackSize) {
7737
- HEAPU32[ptr >> 2] = stack;
7738
- HEAPU32[(ptr + 4) >> 2] = stack + stackSize;
7739
- },
7740
- setDataRewindFunc(ptr) {
7741
- var bottomOfCallStack = Asyncify.exportCallStack[0];
7742
- var rewindId = Asyncify.getCallStackId(bottomOfCallStack);
7743
- HEAP32[(ptr + 8) >> 2] = rewindId;
7744
- },
7745
- getDataRewindFunc(ptr) {
7746
- var id = HEAP32[(ptr + 8) >> 2];
7747
- var func = Asyncify.callStackIdToFunc.get(id);
7748
- return func;
7749
- },
7750
- doRewind(ptr) {
7751
- var original = Asyncify.getDataRewindFunc(ptr);
7752
- var func = Asyncify.funcWrappers.get(original);
7753
- runtimeKeepalivePop();
7754
- return func();
7755
- },
7756
- handleSleep(startAsync) {
7757
- if (ABORT) return;
7758
- if (Asyncify.state === Asyncify.State.Normal) {
7759
- var reachedCallback = false;
7760
- var reachedAfterCallback = false;
7761
- startAsync((handleSleepReturnValue = 0) => {
7762
- if (ABORT) return;
7763
- Asyncify.handleSleepReturnValue = handleSleepReturnValue;
7764
- reachedCallback = true;
7765
- if (!reachedAfterCallback) {
7766
- return;
7767
- }
7768
- Asyncify.state = Asyncify.State.Rewinding;
7769
- runAndAbortIfError(() =>
7770
- _asyncify_start_rewind(Asyncify.currData)
7771
- );
7772
- if (typeof MainLoop != 'undefined' && MainLoop.func) {
7773
- MainLoop.resume();
7774
- }
7775
- var asyncWasmReturnValue,
7776
- isError = false;
7777
- try {
7778
- asyncWasmReturnValue = Asyncify.doRewind(
7779
- Asyncify.currData
7780
- );
7781
- } catch (err) {
7782
- asyncWasmReturnValue = err;
7783
- isError = true;
7784
- }
7785
- var handled = false;
7786
- if (!Asyncify.currData) {
7787
- var asyncPromiseHandlers =
7788
- Asyncify.asyncPromiseHandlers;
7789
- if (asyncPromiseHandlers) {
7790
- Asyncify.asyncPromiseHandlers = null;
7791
- (isError
7792
- ? asyncPromiseHandlers.reject
7793
- : asyncPromiseHandlers.resolve)(
7794
- asyncWasmReturnValue
7795
- );
7796
- handled = true;
7797
- }
7798
- }
7799
- if (isError && !handled) {
7800
- throw asyncWasmReturnValue;
7801
- }
7802
- });
7803
- reachedAfterCallback = true;
7804
- if (!reachedCallback) {
7805
- Asyncify.state = Asyncify.State.Unwinding;
7806
- if (!Asyncify._cachedData) {
7807
- Asyncify._cachedData = Asyncify.allocateData();
7808
- } else {
7809
- Asyncify.setDataHeader(
7810
- Asyncify._cachedData,
7811
- Asyncify._cachedData + 12,
7812
- Asyncify.StackSize
7813
- );
7814
- Asyncify.setDataRewindFunc(Asyncify._cachedData);
7815
- }
7816
- Asyncify.currData = Asyncify._cachedData;
7817
- if (typeof MainLoop != 'undefined' && MainLoop.func) {
7818
- MainLoop.pause();
7819
- }
7820
- runAndAbortIfError(() =>
7821
- _asyncify_start_unwind(Asyncify.currData)
7822
- );
7823
- }
7824
- } else if (Asyncify.state === Asyncify.State.Rewinding) {
7825
- Asyncify.state = Asyncify.State.Normal;
7826
- runAndAbortIfError(_asyncify_stop_rewind);
7827
- Asyncify.currData = null;
7828
- Asyncify.sleepCallbacks.forEach(callUserCallback);
7829
- } else {
7830
- abort(`invalid state: ${Asyncify.state}`);
7831
- }
7832
- return Asyncify.handleSleepReturnValue;
7833
- },
7834
- handleAsync: (startAsync) =>
7835
- Asyncify.handleSleep((wakeUp) => {
7836
- startAsync().then(wakeUp);
7837
- }),
7838
- };
7839
7844
  var getCFunc = (ident) => {
7840
7845
  var func = Module['_' + ident];
7841
7846
  return func;
@@ -8219,10 +8224,7 @@ export function init(RuntimeName, PHPLoader) {
8219
8224
  return ERRNO_CODES.EWOULDBLOCK;
8220
8225
  }
8221
8226
  return returnCallback(async (wakeUp) => {
8222
- var retries = 0;
8223
8227
  var interval = 50;
8224
- var timeout = 5e3;
8225
- var maxRetries = timeout / interval;
8226
8228
  while (true) {
8227
8229
  var returnCode;
8228
8230
  var stream;
@@ -8246,7 +8248,6 @@ export function init(RuntimeName, PHPLoader) {
8246
8248
  return wakeUp(0);
8247
8249
  }
8248
8250
  if (
8249
- ++retries > maxRetries ||
8250
8251
  !stream ||
8251
8252
  FS.isClosed(stream) ||
8252
8253
  returnCode !== ERRNO_CODES.EWOULDBLOCK ||
@@ -8301,6 +8302,7 @@ export function init(RuntimeName, PHPLoader) {
8301
8302
  _ap_php_slprintf,
8302
8303
  _ap_php_snprintf,
8303
8304
  _ap_php_vsnprintf,
8305
+ __efree,
8304
8306
  __emalloc_24,
8305
8307
  __emalloc_32,
8306
8308
  __emalloc_40,
@@ -8309,7 +8311,6 @@ export function init(RuntimeName, PHPLoader) {
8309
8311
  __emalloc_160,
8310
8312
  __efree_56,
8311
8313
  __emalloc,
8312
- __efree,
8313
8314
  __erealloc,
8314
8315
  __safe_emalloc,
8315
8316
  ___zend_malloc,
@@ -8434,16 +8435,16 @@ export function init(RuntimeName, PHPLoader) {
8434
8435
  _strlen,
8435
8436
  _memcmp,
8436
8437
  _free,
8437
- _malloc,
8438
- _snprintf,
8439
- _strchr,
8440
8438
  _dlopen,
8441
8439
  _dlsym,
8442
8440
  _dlclose,
8443
8441
  _strcmp,
8444
8442
  _getenv,
8445
8443
  _explicit_bzero,
8444
+ _malloc,
8445
+ _snprintf,
8446
8446
  _atoi,
8447
+ _strchr,
8447
8448
  ___errno_location,
8448
8449
  _strrchr,
8449
8450
  _strcasecmp,
@@ -8594,11 +8595,15 @@ export function init(RuntimeName, PHPLoader) {
8594
8595
  dynCall_jiiiii,
8595
8596
  dynCall_jiiii,
8596
8597
  dynCall_iiiiiiiiii,
8598
+ dynCall_viiiiiii,
8599
+ dynCall_ji,
8600
+ dynCall_di,
8601
+ dynCall_vij,
8602
+ dynCall_vid,
8597
8603
  dynCall_vjiii,
8598
8604
  dynCall_iiji,
8599
8605
  dynCall_iidddd,
8600
8606
  dynCall_iijjjj,
8601
- dynCall_ji,
8602
8607
  dynCall_viji,
8603
8608
  dynCall_iiij,
8604
8609
  dynCall_vji,
@@ -8609,11 +8614,11 @@ export function init(RuntimeName, PHPLoader) {
8609
8614
  dynCall_iiiij,
8610
8615
  dynCall_jiji,
8611
8616
  dynCall_viiij,
8612
- dynCall_viiiiiii,
8613
8617
  dynCall_iiiiiiiii,
8614
8618
  dynCall_viiiiii,
8615
8619
  dynCall_viiiiiiiii,
8616
8620
  dynCall_vidi,
8621
+ dynCall_vj,
8617
8622
  dynCall_iiijii,
8618
8623
  dynCall_iiidii,
8619
8624
  dynCall_jiiji,
@@ -8626,9 +8631,6 @@ export function init(RuntimeName, PHPLoader) {
8626
8631
  dynCall_iiiiiij,
8627
8632
  dynCall_iiid,
8628
8633
  dynCall_dii,
8629
- dynCall_vid,
8630
- dynCall_vij,
8631
- dynCall_di,
8632
8634
  dynCall_iiiiijii,
8633
8635
  dynCall_j,
8634
8636
  dynCall_iiiiji,
@@ -8688,6 +8690,7 @@ export function init(RuntimeName, PHPLoader) {
8688
8690
  wasmExports['ap_php_snprintf'];
8689
8691
  _ap_php_vsnprintf = Module['_ap_php_vsnprintf'] =
8690
8692
  wasmExports['ap_php_vsnprintf'];
8693
+ __efree = Module['__efree'] = wasmExports['_efree'];
8691
8694
  __emalloc_24 = Module['__emalloc_24'] = wasmExports['_emalloc_24'];
8692
8695
  __emalloc_32 = Module['__emalloc_32'] = wasmExports['_emalloc_32'];
8693
8696
  __emalloc_40 = Module['__emalloc_40'] = wasmExports['_emalloc_40'];
@@ -8696,7 +8699,6 @@ export function init(RuntimeName, PHPLoader) {
8696
8699
  __emalloc_160 = Module['__emalloc_160'] = wasmExports['_emalloc_160'];
8697
8700
  __efree_56 = Module['__efree_56'] = wasmExports['_efree_56'];
8698
8701
  __emalloc = Module['__emalloc'] = wasmExports['_emalloc'];
8699
- __efree = Module['__efree'] = wasmExports['_efree'];
8700
8702
  __erealloc = Module['__erealloc'] = wasmExports['_erealloc'];
8701
8703
  __safe_emalloc = Module['__safe_emalloc'] =
8702
8704
  wasmExports['_safe_emalloc'];
@@ -8957,12 +8959,6 @@ export function init(RuntimeName, PHPLoader) {
8957
8959
  _strlen = Module['_strlen'] = wasmExports['strlen'];
8958
8960
  _memcmp = Module['_memcmp'] = wasmExports['memcmp'];
8959
8961
  _free = Module['_free'] = wasmExports['free'];
8960
- _malloc =
8961
- PHPLoader['malloc'] =
8962
- Module['_malloc'] =
8963
- wasmExports['malloc'];
8964
- _snprintf = Module['_snprintf'] = wasmExports['snprintf'];
8965
- _strchr = Module['_strchr'] = wasmExports['strchr'];
8966
8962
  _dlopen = Module['_dlopen'] = wasmExports['dlopen'];
8967
8963
  _dlsym = Module['_dlsym'] = wasmExports['dlsym'];
8968
8964
  _dlclose = Module['_dlclose'] = wasmExports['dlclose'];
@@ -8970,7 +8966,13 @@ export function init(RuntimeName, PHPLoader) {
8970
8966
  _getenv = Module['_getenv'] = wasmExports['getenv'];
8971
8967
  _explicit_bzero = Module['_explicit_bzero'] =
8972
8968
  wasmExports['explicit_bzero'];
8969
+ _malloc =
8970
+ PHPLoader['malloc'] =
8971
+ Module['_malloc'] =
8972
+ wasmExports['malloc'];
8973
+ _snprintf = Module['_snprintf'] = wasmExports['snprintf'];
8973
8974
  _atoi = Module['_atoi'] = wasmExports['atoi'];
8975
+ _strchr = Module['_strchr'] = wasmExports['strchr'];
8974
8976
  ___errno_location = Module['___errno_location'] =
8975
8977
  wasmExports['__errno_location'];
8976
8978
  _strrchr = Module['_strrchr'] = wasmExports['strrchr'];
@@ -9171,11 +9173,16 @@ export function init(RuntimeName, PHPLoader) {
9171
9173
  dynCall_jiiii = dynCalls['jiiii'] = wasmExports['dynCall_jiiii'];
9172
9174
  dynCall_iiiiiiiiii = dynCalls['iiiiiiiiii'] =
9173
9175
  wasmExports['dynCall_iiiiiiiiii'];
9176
+ dynCall_viiiiiii = dynCalls['viiiiiii'] =
9177
+ wasmExports['dynCall_viiiiiii'];
9178
+ dynCall_ji = dynCalls['ji'] = wasmExports['dynCall_ji'];
9179
+ dynCall_di = dynCalls['di'] = wasmExports['dynCall_di'];
9180
+ dynCall_vij = dynCalls['vij'] = wasmExports['dynCall_vij'];
9181
+ dynCall_vid = dynCalls['vid'] = wasmExports['dynCall_vid'];
9174
9182
  dynCall_vjiii = dynCalls['vjiii'] = wasmExports['dynCall_vjiii'];
9175
9183
  dynCall_iiji = dynCalls['iiji'] = wasmExports['dynCall_iiji'];
9176
9184
  dynCall_iidddd = dynCalls['iidddd'] = wasmExports['dynCall_iidddd'];
9177
9185
  dynCall_iijjjj = dynCalls['iijjjj'] = wasmExports['dynCall_iijjjj'];
9178
- dynCall_ji = dynCalls['ji'] = wasmExports['dynCall_ji'];
9179
9186
  dynCall_viji = dynCalls['viji'] = wasmExports['dynCall_viji'];
9180
9187
  dynCall_iiij = dynCalls['iiij'] = wasmExports['dynCall_iiij'];
9181
9188
  dynCall_vji = dynCalls['vji'] = wasmExports['dynCall_vji'];
@@ -9187,14 +9194,13 @@ export function init(RuntimeName, PHPLoader) {
9187
9194
  dynCall_iiiij = dynCalls['iiiij'] = wasmExports['dynCall_iiiij'];
9188
9195
  dynCall_jiji = dynCalls['jiji'] = wasmExports['dynCall_jiji'];
9189
9196
  dynCall_viiij = dynCalls['viiij'] = wasmExports['dynCall_viiij'];
9190
- dynCall_viiiiiii = dynCalls['viiiiiii'] =
9191
- wasmExports['dynCall_viiiiiii'];
9192
9197
  dynCall_iiiiiiiii = dynCalls['iiiiiiiii'] =
9193
9198
  wasmExports['dynCall_iiiiiiiii'];
9194
9199
  dynCall_viiiiii = dynCalls['viiiiii'] = wasmExports['dynCall_viiiiii'];
9195
9200
  dynCall_viiiiiiiii = dynCalls['viiiiiiiii'] =
9196
9201
  wasmExports['dynCall_viiiiiiiii'];
9197
9202
  dynCall_vidi = dynCalls['vidi'] = wasmExports['dynCall_vidi'];
9203
+ dynCall_vj = dynCalls['vj'] = wasmExports['dynCall_vj'];
9198
9204
  dynCall_iiijii = dynCalls['iiijii'] = wasmExports['dynCall_iiijii'];
9199
9205
  dynCall_iiidii = dynCalls['iiidii'] = wasmExports['dynCall_iiidii'];
9200
9206
  dynCall_jiiji = dynCalls['jiiji'] = wasmExports['dynCall_jiiji'];
@@ -9207,9 +9213,6 @@ export function init(RuntimeName, PHPLoader) {
9207
9213
  dynCall_iiiiiij = dynCalls['iiiiiij'] = wasmExports['dynCall_iiiiiij'];
9208
9214
  dynCall_iiid = dynCalls['iiid'] = wasmExports['dynCall_iiid'];
9209
9215
  dynCall_dii = dynCalls['dii'] = wasmExports['dynCall_dii'];
9210
- dynCall_vid = dynCalls['vid'] = wasmExports['dynCall_vid'];
9211
- dynCall_vij = dynCalls['vij'] = wasmExports['dynCall_vij'];
9212
- dynCall_di = dynCalls['di'] = wasmExports['dynCall_di'];
9213
9216
  dynCall_iiiiijii = dynCalls['iiiiijii'] =
9214
9217
  wasmExports['dynCall_iiiiijii'];
9215
9218
  dynCall_j = dynCalls['j'] = wasmExports['dynCall_j'];
@@ -9252,40 +9255,40 @@ export function init(RuntimeName, PHPLoader) {
9252
9255
  __indirect_function_table = wasmTable =
9253
9256
  wasmExports['__indirect_function_table'];
9254
9257
  }
9255
- var _compiler_globals = (Module['_compiler_globals'] = 17464872);
9256
- var _executor_globals = (Module['_executor_globals'] = 17465288);
9257
- var _zend_ce_exception = (Module['_zend_ce_exception'] = 17461308);
9258
- var _zend_empty_array = (Module['_zend_empty_array'] = 16978624);
9259
- var _zend_ce_aggregate = (Module['_zend_ce_aggregate'] = 17347696);
9260
- var _zend_ce_iterator = (Module['_zend_ce_iterator'] = 17347700);
9261
- var _zend_ce_countable = (Module['_zend_ce_countable'] = 17347712);
9262
- var _std_object_handlers = (Module['_std_object_handlers'] = 16962016);
9263
- var _zend_empty_string = (Module['_zend_empty_string'] = 17463636);
9264
- var _zend_known_strings = (Module['_zend_known_strings'] = 17463640);
9258
+ var _compiler_globals = (Module['_compiler_globals'] = 17465320);
9259
+ var _executor_globals = (Module['_executor_globals'] = 17465736);
9260
+ var _zend_ce_exception = (Module['_zend_ce_exception'] = 17461756);
9261
+ var _zend_empty_array = (Module['_zend_empty_array'] = 16964736);
9262
+ var _zend_ce_aggregate = (Module['_zend_ce_aggregate'] = 17348128);
9263
+ var _zend_ce_iterator = (Module['_zend_ce_iterator'] = 17348132);
9264
+ var _zend_ce_countable = (Module['_zend_ce_countable'] = 17348144);
9265
+ var _std_object_handlers = (Module['_std_object_handlers'] = 16962528);
9266
+ var _zend_empty_string = (Module['_zend_empty_string'] = 17463028);
9267
+ var _zend_known_strings = (Module['_zend_known_strings'] = 17463032);
9265
9268
  var _zend_string_init_interned = (Module['_zend_string_init_interned'] =
9266
- 17463708);
9269
+ 17463100);
9267
9270
  var ___memory_base = (Module['___memory_base'] = 0);
9268
9271
  var ___table_base = (Module['___table_base'] = 1);
9269
- var _stdout = (Module['_stdout'] = 17340592);
9270
- var _timezone = (Module['_timezone'] = 17796040);
9271
- var _tzname = (Module['_tzname'] = 17796048);
9272
- var ___heap_base = 18857744;
9272
+ var _stdout = (Module['_stdout'] = 17341120);
9273
+ var _timezone = (Module['_timezone'] = 17796504);
9274
+ var _tzname = (Module['_tzname'] = 17796512);
9275
+ var ___heap_base = 18858208;
9273
9276
  var __ZNSt3__25ctypeIcE2idE = (Module['__ZNSt3__25ctypeIcE2idE'] =
9274
- 17809156);
9277
+ 17809620);
9275
9278
  var __ZTVN10__cxxabiv120__si_class_type_infoE = (Module[
9276
9279
  '__ZTVN10__cxxabiv120__si_class_type_infoE'
9277
- ] = 17340840);
9280
+ ] = 17341368);
9278
9281
  var __ZTVN10__cxxabiv117__class_type_infoE = (Module[
9279
9282
  '__ZTVN10__cxxabiv117__class_type_infoE'
9280
- ] = 17340800);
9283
+ ] = 17341328);
9281
9284
  var __ZTVN10__cxxabiv121__vmi_class_type_infoE = (Module[
9282
9285
  '__ZTVN10__cxxabiv121__vmi_class_type_infoE'
9283
- ] = 17340892);
9286
+ ] = 17341420);
9284
9287
  var __ZTISt20bad_array_new_length = (Module[
9285
9288
  '__ZTISt20bad_array_new_length'
9286
- ] = 17340964);
9287
- var __ZTVSt12length_error = (Module['__ZTVSt12length_error'] = 17341008);
9288
- var __ZTISt12length_error = (Module['__ZTISt12length_error'] = 17341028);
9289
+ ] = 17341492);
9290
+ var __ZTVSt12length_error = (Module['__ZTVSt12length_error'] = 17341536);
9291
+ var __ZTISt12length_error = (Module['__ZTISt12length_error'] = 17341556);
9289
9292
  var wasmImports = {
9290
9293
  __assert_fail: ___assert_fail,
9291
9294
  __asyncify_data: ___asyncify_data,
@@ -9366,6 +9369,7 @@ export function init(RuntimeName, PHPLoader) {
9366
9369
  getnameinfo: _getnameinfo,
9367
9370
  getprotobyname: _getprotobyname,
9368
9371
  getprotobynumber: _getprotobynumber,
9372
+ invoke_di,
9369
9373
  invoke_i,
9370
9374
  invoke_ii,
9371
9375
  invoke_iii,
@@ -9392,6 +9396,7 @@ export function init(RuntimeName, PHPLoader) {
9392
9396
  invoke_jiii,
9393
9397
  invoke_v,
9394
9398
  invoke_vi,
9399
+ invoke_vid,
9395
9400
  invoke_vii,
9396
9401
  invoke_viii,
9397
9402
  invoke_viiii,
@@ -9404,7 +9409,9 @@ export function init(RuntimeName, PHPLoader) {
9404
9409
  invoke_viiiiiiiiiiiii,
9405
9410
  invoke_viiiiiiiiiiiiiii,
9406
9411
  invoke_viiij,
9412
+ invoke_vij,
9407
9413
  invoke_vijj,
9414
+ invoke_vj,
9408
9415
  invoke_vji,
9409
9416
  js_fd_read,
9410
9417
  js_open_process: _js_open_process,
@@ -9566,6 +9573,27 @@ export function init(RuntimeName, PHPLoader) {
9566
9573
  _setThrew(1, 0);
9567
9574
  }
9568
9575
  }
9576
+ function invoke_ji(index, a1) {
9577
+ var sp = stackSave();
9578
+ try {
9579
+ return dynCalls['ji'](index, a1);
9580
+ } catch (e) {
9581
+ stackRestore(sp);
9582
+ if (e !== e + 0) throw e;
9583
+ _setThrew(1, 0);
9584
+ return 0n;
9585
+ }
9586
+ }
9587
+ function invoke_vj(index, a1) {
9588
+ var sp = stackSave();
9589
+ try {
9590
+ dynCalls['vj'](index, a1);
9591
+ } catch (e) {
9592
+ stackRestore(sp);
9593
+ if (e !== e + 0) throw e;
9594
+ _setThrew(1, 0);
9595
+ }
9596
+ }
9569
9597
  function invoke_iiiiii(index, a1, a2, a3, a4, a5) {
9570
9598
  var sp = stackSave();
9571
9599
  try {
@@ -9617,25 +9645,54 @@ export function init(RuntimeName, PHPLoader) {
9617
9645
  return 0n;
9618
9646
  }
9619
9647
  }
9620
- function invoke_iiij(index, a1, a2, a3) {
9648
+ function invoke_viiiiiii(index, a1, a2, a3, a4, a5, a6, a7) {
9621
9649
  var sp = stackSave();
9622
9650
  try {
9623
- return dynCalls['iiij'](index, a1, a2, a3);
9651
+ dynCalls['viiiiiii'](index, a1, a2, a3, a4, a5, a6, a7);
9624
9652
  } catch (e) {
9625
9653
  stackRestore(sp);
9626
9654
  if (e !== e + 0) throw e;
9627
9655
  _setThrew(1, 0);
9628
9656
  }
9629
9657
  }
9630
- function invoke_ji(index, a1) {
9658
+ function invoke_di(index, a1) {
9631
9659
  var sp = stackSave();
9632
9660
  try {
9633
- return dynCalls['ji'](index, a1);
9661
+ return dynCalls['di'](index, a1);
9662
+ } catch (e) {
9663
+ stackRestore(sp);
9664
+ if (e !== e + 0) throw e;
9665
+ _setThrew(1, 0);
9666
+ }
9667
+ }
9668
+ function invoke_vij(index, a1, a2) {
9669
+ var sp = stackSave();
9670
+ try {
9671
+ dynCalls['vij'](index, a1, a2);
9672
+ } catch (e) {
9673
+ stackRestore(sp);
9674
+ if (e !== e + 0) throw e;
9675
+ _setThrew(1, 0);
9676
+ }
9677
+ }
9678
+ function invoke_vid(index, a1, a2) {
9679
+ var sp = stackSave();
9680
+ try {
9681
+ dynCalls['vid'](index, a1, a2);
9682
+ } catch (e) {
9683
+ stackRestore(sp);
9684
+ if (e !== e + 0) throw e;
9685
+ _setThrew(1, 0);
9686
+ }
9687
+ }
9688
+ function invoke_iiij(index, a1, a2, a3) {
9689
+ var sp = stackSave();
9690
+ try {
9691
+ return dynCalls['iiij'](index, a1, a2, a3);
9634
9692
  } catch (e) {
9635
9693
  stackRestore(sp);
9636
9694
  if (e !== e + 0) throw e;
9637
9695
  _setThrew(1, 0);
9638
- return 0n;
9639
9696
  }
9640
9697
  }
9641
9698
  function invoke_vijj(index, a1, a2, a3) {
@@ -9718,16 +9775,6 @@ export function init(RuntimeName, PHPLoader) {
9718
9775
  _setThrew(1, 0);
9719
9776
  }
9720
9777
  }
9721
- function invoke_viiiiiii(index, a1, a2, a3, a4, a5, a6, a7) {
9722
- var sp = stackSave();
9723
- try {
9724
- dynCalls['viiiiiii'](index, a1, a2, a3, a4, a5, a6, a7);
9725
- } catch (e) {
9726
- stackRestore(sp);
9727
- if (e !== e + 0) throw e;
9728
- _setThrew(1, 0);
9729
- }
9730
- }
9731
9778
  function invoke_iiiiiiiii(index, a1, a2, a3, a4, a5, a6, a7, a8) {
9732
9779
  var sp = stackSave();
9733
9780
  try {