Martijn van Oosterhout <kleptog@xxxxxxxxx> writes: > The things that have screwed me up in the past with pulling tricks like > this are: > > 1. Program has registered atexit() handlers. _exit() avoids this. > 2. Pending stdio output that gets flushed. The backend doesn't use > stdio much so you might be fine here. > 3. Signals. Make sure you don't get sent signals that screw state. > Might be wise to block them all, or reset them all to default. > > Truly, exec() is the cleanest way to solve all this, it simply replaces > the current process, lock, stock and barrel. Definitely. It would probably also be good to close all file descriptors (except for stdin/etdout/stderr) before exec(), just in case the other binary does something screwy with random file descriptors (which it obviously shouldn't). -Doug ---------------------------(end of broadcast)--------------------------- TIP 2: Don't 'kill -9' the postmaster