RotatingFileHandler + subprocess module problems
Stephen Hansen
shansen at advpubtech.com
Tue Jan 16 00:48:33 EST 2007
More information about the Python-list mailing list
Tue Jan 16 00:48:33 EST 2007
- Previous message (by thread): RotatingFileHandler + subprocess module problems
- Next message (by thread): Urgent Openings with the World's Leading Software Company !!!
- Messages sorted by: [ date ] [ thread ] [ subject ] [ author ]
That was perfect-- it now all behaves as it should. Thanks! On 1/11/07, Gabriel Genellina <gagsl-py at yahoo.com.ar> wrote: > > At Thursday 11/1/2007 15:59, Stephen Hansen wrote: > > >If I run app1, and then app2, it all works fine. Specifically, the > >apps are logging correctly and I can see with Process Explorer that > >each has a handle to the appropriate files. > > > >However, I have a setting to make App2 run App1 in the background > >for convienance. This is using the subprocess module. When this > >setting is on, App2 will die horribly the first time that the > >doRollover comes along: specifically it gets a permission denied > >error when it tries to rename App2.log to App2.log.1 > > > >After doing some debugging, it appears that App1 (if started by App2 > >using the subprocess module) has a handle to App2.log /somehow/. It > >never starts it, or touches it (verified through debug messages), > >but seems to inherit it. > > That's subprocess fault. You menctioned Process Explorer, it appears > you're using Windows. > Using subprocess, the child process always inherits all file handles > from its parent. This may or may not be desirable, and in your case, > it's not. App1 inherits the open file handle to App2.log. > Inside subprocess.py, near line 789, there is a call to > CreateProcess; its 5th parameter is called bInheritHandles and it's > set to 1. The comment "must inherit handles to pass std handles" is > wrong AFAIK, and setting STARTF_USESTDHANDLES in startupinfo should > be enough. (It may be that some lines above, STARTF_USESTDHANDLES is > not correctly set). > I'll try to investigate a bit more and file a bug report or a patch. > In the meantime, you could replace that 1 in CreateProcess by a 0. > Specially if you don't use PIPE or redirects, your problem should go away. > > > -- > Gabriel Genellina > Softlab SRL > > > > > > > __________________________________________________ > Preguntá. Respondé. Descubrí. > Todo lo que querías saber, y lo que ni imaginabas, > está en Yahoo! Respuestas (Beta). > ¡Probalo ya! > http://www.yahoo.com.ar/respuestas > > > > -- > http://mail.python.org/mailman/listinfo/python-list > > -------------- next part -------------- An HTML attachment was scrubbed... URL: <http://mail.python.org/pipermail/python-list/attachments/20070115/45e46a88/attachment.html>
- Previous message (by thread): RotatingFileHandler + subprocess module problems
- Next message (by thread): Urgent Openings with the World's Leading Software Company !!!
- Messages sorted by: [ date ] [ thread ] [ subject ] [ author ]
More information about the Python-list mailing list