PROXY TO PTHREAD:当代理主线程在主返回后被保留到0时,运行时间永远不会退出
作者: guybedford创建于 2026年9月16日更新于 2026年9月16日
使用 `-pthread -sPROXY_TO_PTHREAD -sEXIT_RUNTIME`,如果 `main` 在运行时保持活动(例如,正在等待的 `emscripten_set_timeout`)时返回,则 `crt1_proxy_main.c` 中的 `_main_thread` 会跳过 `exit()` 并从线程例程返回。当保持活动后续减少到 0 时,`maybeExit` 会在工作线程上调用 `_emscripten_thread_exit(EXITSTATUS)`,但 `atexit` 处理程序和 `Module.onExit` 从来不会触发,并且无论主线程返回值如何,进程都会在 Node 的循环消耗完毕后退出 0。
内容来源: emscripten-core/emscripten