This issue tracker has been migrated to GitHub, and is currently read-only.
For more information, see the GitHub FAQs in the Python's Developer Guide.

Author socketpair
Recipients socketpair
Date 2014-03-19.14:53:46
SpamBayes Score -1.0
Marked as misclassified Yes
Message-id <1395240826.46.0.532005505249.issue20979@psf.upfronthosting.co.za>
In-reply-to
Content
1. Please see last comments/patches for issue8052
2. Not closing some descriptos is security breach (PEP-0446 describes that)


=================
Calling getdents()/readdir64() repeatedly while closing descriptors provides unexpected behaviour. Reading directory while it modified is not safe by default. For example: http://en.it-usenet.org/thread/18514/15719/. 

So, we should re-open directory if we received full array of structures. I don't know if just lseek(dirfd, 0) sufficies.

Please reopen bug, as Linux behaviour of stable reading /proc/<pid>/fd may be broken in future without any error at python side (!) (typically, second call returns empty list if dir was modified)

=================

Also, please check exit code of getdents() instead of just ignoring error and NOT closing file descriptors.
=================

P.S. Please set affected python versions...
History
Date User Action Args
2014-03-19 14:53:46socketpairsetrecipients: + socketpair
2014-03-19 14:53:46socketpairsetmessageid: <1395240826.46.0.532005505249.issue20979@psf.upfronthosting.co.za>
2014-03-19 14:53:46socketpairlinkissue20979 messages
2014-03-19 14:53:46socketpaircreate