Вы можете использовать select () в этом случае, даже в однопоточной однопроцессной программе с только блокирующими сокетами.Вот как вы принимаете входящие соединения с помощью select ():
daemonSocket = socket.socket()
...
phpListenSocket = socket.socket()
phpListenSocket.bind(...)
phpListenSocket.listen(...)
phpSocket = None
while True:
rlist = ...
rready, wready, eready = select(rlist, [], [])
if phpListenSocket in rready:
phpSocket, remoteAddr = phpListenSocket.accept()