Thanks to both of you guys for your responses, it turned out to be a simple programmer-error (no surprise). The original, non-daemon version of my program could take input from stdin or from argv[1] and I was trying to test using stdin, forgetting somehow that I had explicitly closed it already... I amaze myself sometimes... Thanks again, Mark