Charles-François Natali added the comment: > Using os.urandom is the *right* thing to do for getting random in an > application, but the current implementation effectively punishes people who > use it if their application is highly concurrent.
And I argue that this scenario is almost as likely as the one you depict above: we never had a bug report before, and if you have a look at the the bug report which led to the change in question, it's not clear at all that all threads were indeed reading from /dev/urandom when EMFILE was raised. Since reading from /dev/urandom shouldn't block, it's not clear at all how a realistic workload would actually hit the file descriptor limit because RLIMIT_NOFILE threads are reading from /dev/urandom. But don't get me wrong, I'm not saying this change is useless, it actually makes sense to use a persistent FD. But backporting always has a risk, which has to be balanced. ---------- _______________________________________ Python tracker <rep...@bugs.python.org> <http://bugs.python.org/issue21305> _______________________________________ _______________________________________________ Python-bugs-list mailing list Unsubscribe: https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com