Basically instead of launching completely new processes for each tab, which uses the (now updated/different) binary on disk, it uses a small secondary process that stays running the whole time the browser is open, and new processes are forked from that one, which makes them all use the same in-memory copy of the old process even after the program is updated.
This only works on *nix because you can’t overwrite binaries on Windows that are in use… but Linux keeps the old binary in memory the whole time, so it doesn’t care if you replace it, as it won’t be used until you restart the program.
So it doesn’t actually update anything at all while it’s running.
Basically instead of launching completely new processes for each tab, which uses the (now updated/different) binary on disk, it uses a small secondary process that stays running the whole time the browser is open, and new processes are forked from that one, which makes them all use the same in-memory copy of the old process even after the program is updated.
This only works on *nix because you can’t overwrite binaries on Windows that are in use… but Linux keeps the old binary in memory the whole time, so it doesn’t care if you replace it, as it won’t be used until you restart the program.
So it doesn’t actually update anything at all while it’s running.