It doesn’t launch the new binary. When the current process wants to spawn a new process, instead of doing fork+exec (which launches the new binary and wreaks havoc because versions now don’t match), it simply tells the ForkServer (a different process that is also running the old binary) to fork.
Chromium also does this; they call their equivalent to ForkServer the zygote process and this article explains it really well.
It doesn’t launch the new binary. When the current process wants to spawn a new process, instead of doing fork+exec (which launches the new binary and wreaks havoc because versions now don’t match), it simply tells the ForkServer (a different process that is also running the old binary) to fork.
Chromium also does this; they call their equivalent to ForkServer the zygote process and this article explains it really well.