On Tue, Aug 4, 2009 at 04:27, Nick Coghlan<ncogh...@gmail.com> wrote: > Eric Pruitt wrote: >> In my GSoC project, I have implemented asnychronous I/O in >> subprocess.Popen. Since the read/write operations are asynchronous, the >> program may have already exited by the time one calls the asyncread >> function I have implemented. While it returns the data just fine, I have >> come across an issue with the TerminateProcess function in Windows: if >> the program has already exited, when subprocess.Popen.Terminate calls >> the Windows built-in "TerminateProcess" function, an "access denied" >> error will occur. Should I just make it so that this exception is simply >> ignored or perform some kind of check to see if the process exists >> beforehand? If the latter, I have been unable to find a way to do so, to >> my liking at least. The solutions I saw would require code that seems a >> bit excessive to me. > > I'm pretty sure we already ignore some spurious error messages in cases > like calling flush() in file.close(). I would suggest checking what the > io module does in such cases and see what kind of precedent it sets. > > Cheers, > Nick. > > -- > Nick Coghlan | ncogh...@gmail.com | Brisbane, Australia > --------------------------------------------------------------- >
Sounds good enough to me but I was wondering if it might be a good idea to add a function like "pidinuse" to subprocess as a whole that would determine if a process ID was being used and return a simple boolean value. I came across a number of people searching for a way to determine if a PID was running (Google "python check if pid exists") so it seems like the implemented functionality would be of use to the community as a whole, not just my wrapper class. Eric _______________________________________________ Python-Dev mailing list Python-Dev@python.org http://mail.python.org/mailman/listinfo/python-dev Unsubscribe: http://mail.python.org/mailman/options/python-dev/archive%40mail-archive.com