I have a program which waits for a socket connection and for each connection forks to do work.
What I would like to do is rewrite this to have the main program act like an operator and accept connections. When it makes a new connection it should call the latest version of another program which will then do it's work via the established socket.
The idea is to be able to update the code of the program being called without interrupting service.