Hello Tutors, I've been banging my head against this bug for 4 days.
I can't think of how to ask for help except to give a birds eye view of the situation. I have a python daemon that is listening on a UNIX socket for communication with exim, my Mail Transfer Agent. Each mail message has its own exim process. The exim process speaks to my daemon, who starts a thread which reads everything there is on the socket, and sends and 'OK' to send exim on its way. That exim process finishes quickly because that 'OK' means to dump the message, I am taking responsibility for it from here. When stuff was read from the exim socket, it was stored in a tempfile, so that I could release the exim process, then I lseek to the front of the tempfile and have it handy. I see from all my debugging and logging that the file descriptor for this tempfile is 9. The program then opens a pipe to exim to send mail. I see that the popen2.popen3 call returns 9 for the stdin file descriptor for the pipe. The tempfile (also file descriptor 9) is read for piping into exim and it errors with "Bad file descriptor". Worse yet, the first 5 messages of my test go through the entire process without a problem, and then # 6 hits this -- but only if # 1 message is really big. I'm at a loss. Does anyone have an idea? Marilyn Davis _______________________________________________ Tutor maillist - Tutor@python.org http://mail.python.org/mailman/listinfo/tutor