GetModuleBaseName with no module names the file the process was started
from; Raven looked for a module at address zero and failed, for the calling
process and for others. It now takes the name from the process's image path,
as QueryFullProcessImageName does, which also answers for child processes.
Assisted-by: Claude Code:claude-opus-5-5
AI-Scope: the change
(cherry picked from commit 0b78cce5023888c44414fd585337810558c3ff14)
procs asks every process for its I/O counts. Raven's host process performs a
program's I/O, so the counters come from its Linux ones (/proc/<pid>/io):
read and write system calls and bytes; nothing is counted as "other".
Assisted-by: Claude Code:claude-opus-5-5
AI-Scope: the handler
(cherry picked from commit 35a6322c72c0077aa523f4e2d1cddd207a65ecfc)
CreateToolhelp32Snapshot named another runtime process by the last argument on its host command line. For
`raven --run-process ... cmd.exe -- /c dir`, that is `dir`, so tasklist and process lookups by name missed it.
Assisted-by: Claude Code:claude-opus-5-5
AI-Scope: Took the first argument that is not an option as the program, and extended the snapshot test to start a child that checks its parent's name, for both widths.