Hi, I hit an issue with the following python code:
try: get_orient = subprocess.Popen (['jpegexiforient', '-n', pathfull], stdin = subprocess.PIPE, stdout = subprocess.PIPE) orient = get_orient.communicate ()[0] except: orient = None The intent of this was to read the exif orientation of a picture, or just use None if jpegexiforient can not run. The application worked fine on my devel machine but I noticed that on a different host, it crashed due to running out of file descriptors. After investigation I found out that the above code was responsible, leaking two file descriptors per invocation if jpegexiforient is not installed on the host. I don't see any way to fix it in my code either, since get_orient is not defined in the exception path, there is no way I can close its file descriptors myself. I believe this is a bug in the subprocess module, it should make sure to clean up after itself when getting out on the exception path. This is with python 2.4.4 on linux (debian etch distribution). Hope this helps. I would prefer to be copied in any replies as I'm not on the list (I will notice the replies after a while either way, but it'll be faster if you can copy me). Cheers, -- Michel "Walken" Lespinasse A program is never fully debugged until the last user dies. -- http://mail.python.org/mailman/listinfo/python-list