A reply over the socket looks the same either way, which is the point of the merge and also why nothing in the suite noticed it. So the daemon's pid is checked directly: /proc/<pid>/exe is the merged program, at a path named for the pid that built it, and there is no child at all. The same check runs the other way round over --two-process, which gets one round trip of its own — describe, an eval, and the output coming back — because it is the escape hatch for a machine that cannot build the compiler object and an escape hatch nobody exercises is not one. Linux only, by /proc, and skipped rather than faked elsewhere: what is being asked about is the process table.
Description
Languages
OCaml
67.2%
Emacs Lisp
15.2%
C
10.4%
HTML
2.9%
Standard ML
2.8%
Other
1.5%