Well, you could have your server write a sleep.pid file when it gets a request in.
If the next request gets a response from calling kill 0, server.pid; then it doesn't start another instance. Thats what I do to stop initiating multiple instances of remote servers.