The merged exit closes stdout so the compiler reads EOF and learns the program has finished. POSIX then hands descriptor 1 to the next thing that asks — a socket, a module's object file — and the llc after that inherits it as its stdout. /dev/null takes the slot back, and the EOF is unaffected because the pipe's write end is genuinely gone. Verified beyond the headless suite: sand.flan builds and runs merged under Xvfb, one process with no children, and a game-draw typed in at the socket is drawing frames a second later.
Description
Languages
OCaml
67.2%
Emacs Lisp
15.2%
C
10.4%
HTML
2.9%
Standard ML
2.8%
Other
1.5%