I'm building a daemon that uses a launchd-provided socket, it seems like a good idea to exit when nothing's connected. I've read that jobs must stay alive for 60 seconds, but launchd is giving me a 30 second timeout at checkin. What's right? How are daemon timeouts supposed to work?