I've developed this as a learning exercise to discover how it is possible to restart a server without dropping connections. The proxy uses IPC over unix sockets to transfer the socket FDs between the old and new process.
Is there any better ways to approach what I am doing? Perhaps without all the cloning and locks? Any other places I can improve?