28 Commits
Author SHA1 Message Date
mirkobrombin e28d675d1d fix: keep the error that ended the process over later failures 2026-11-03 01:02:37 +00:00
Raymond Bennett 7ac082ef1e fix: commit only the top of a new thread's stack, as Windows does
A thread's whole stack was committed when it was created and charged to the
commit limit. LLVM's thread pool starts a thread per processor, and with
lld's 8 MiB stacks on a 32-processor machine CreateThread ran out of commit
and failed with ERROR_NOT_ENOUGH_MEMORY; libc++ turned that into an
exception, so clang could not link.

The stack is now reserved and only its top 64 KiB committed, which is what a
new thread is charged on Windows, where the rest is committed as the thread
reaches its guard page. The reserved pages are open to the thread, standing
for that growth.

Assisted-by: Claude Code:claude-opus-5-5
AI-Scope: the change
(cherry picked from commit a41f53ad05c6bed7f5d5f8eb2ce3676bf4c6d09e)
2026-10-28 23:14:32 -07:00
mirkobrombin 56d33ace7e feat: add timer queues and thread pool timers
Assisted-by: Claude Code:claude-opus-5-5
AI-Scope: Wrote timer queues, private pools and GetThreadIOPendingFlag with their tests.
2026-10-27 10:53:49 +00:00
mirkobrombin 44a593867c feat: run an SSH client's terminal and file transfer windows 2026-10-26 23:13:38 +00:00
mirkobrombin 61927c1cc8 fix: handle shared waits and semaphore wakeups 2026-10-25 06:09:55 +01:00
mirkobrombin 4d0e2b4be1 fix: preserve thread context during served API calls 2026-10-24 23:29:27 +02:00
mirkobrombin 0a0fe4be89 feat: add shared Windows process state and parallel guest execution 2026-10-24 16:24:23 +00:00
Mirko Brombin 85af42cba5 feat: end a process through its own handle, detach libraries as a load and add the C runtime calls Paint.NET reaches 2026-09-23 16:34:21 +00:00
Mirko Brombin fe635cee82 feat: run a thread that a finished operation made ready before the scheduler sleeps 2026-09-21 14:17:12 +00:00
Mirko Brombin 5d6213c688 feat: add hand thread handles to other processes, serve handle requests in 32-bit processes, read 32-bit wait arrays at their width and queue work items 2026-09-21 06:06:44 +00:00
Mirko Brombin 789f5b024a feat: add sleep the scheduler's idle wait to the nanosecond instead of spinning through its last millisecond 2026-09-21 00:49:22 +02:00
Mirko Brombin 5e4e200e65 feat: let a thread waiting for messages sleep on the display, the scheduler's descriptors and the windows directory until its next timer instead of waking every 20 ms 2026-09-20 23:03:13 +02:00
Mirko Brombin bc97c80eed feat: add sleep on the reactor's descriptors and a wake event when idle, and poll other processes' frames only for windows they draw into 2026-09-20 20:45:03 +02:00
Mirko Brombin bd7fe3c8bd feat: add keyed events, inherited working directory, msvcrt locks and process exit that ends other threads first 2026-09-04 05:41:39 +02:00
Mirko Brombin ab62d80bea feat: serve leaf API calls without stopping the guest, run blocking Vulkan calls off the scheduler and keep input in order 2026-09-04 04:31:00 +02:00
Mirko Brombin 26fbeabc78 feat: run Steam's web UI with cross-process handles, per-thread message queues, socket events and process identity 2026-09-03 16:48:12 +02:00
Mirko Brombin 66087052d8 feat: run Chromium's helper processes with DirectWrite, named pipes, jobs, inherited handles and shared sections 2026-09-03 06:06:54 +02:00
Mirko Brombin 966069f911 feat: run Steam to its web helper with real sockets, TLS chains, child environments and image protection 2026-09-03 02:50:56 +02:00
Mirko Brombin a7256dafac feat: run the Steam installer to Finish with child processes, shell links and sockets 2026-09-03 01:15:07 +02:00
Mirko Brombin 06e6339c63 feat: end a run cleanly when the guest is gone and add multi-thread heap stress 2026-09-02 22:31:40 +02:00
Mirko Brombin bc37ed5e58 feat: add time slice guest threads and wait on events through the scheduler 2026-08-02 05:26:50 +02:00
Mirko Brombin 58a49176de feat: present a 32-bit Direct3D 9 frame on Wayland through 32-bit DXVK 2026-08-02 03:02:06 +02:00
Mirko Brombin 8789133e17 feat: run guest threads, critical sections, heap and ANSI window calls in 32-bit programs 2026-08-02 00:07:11 +02:00
Mirko Brombin 82ccec8e75 feat: share Vulkan memory shadows with the host, profile native API calls and fix thread exit at the deadline 2026-08-01 22:32:38 +02:00
Mirko Brombin cb2a9d76ac feat: follow window resizes in DXVK swap chains and unwind threads left at exit 2026-08-01 21:47:36 +02:00
Mirko Brombin 82a160f157 feat: create a Direct3D 12 device through vkd3d-proton and release threads left at exit 2026-08-01 20:57:35 +02:00
Mirko Brombin a52e9e7d1d feat: add scroll bars, carets, clipboard, hooks, key state and fast thread-block paths; Notepad++ shows its window 2026-08-01 00:41:27 +02:00
Mirko Brombin efc6104b5b feat: add kernel32 services, guest threads and structured exceptions for PE64 processes 2026-07-31 21:45:18 +02:00