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 rhettinger
Recipients JohanAR, davin, gregory.p.smith, gvanrossum, itamarst, ncoghlan, pitrou, python-dev, rhettinger, sbt, serhiy.storchaka, tim.peters, yselivanov, zzzeek
Date 2017-09-06.00:04:43
SpamBayes Score -1.0
Marked as misclassified Yes
Message-id <1504656284.93.0.0843379527385.issue14976@psf.upfronthosting.co.za>
In-reply-to
Content
Just for the record, Guido explained his aversion to RLocks.  Roughly: 1) RLocks are slower and more complex 2) It is difficult to correctly write code that can survive reentrancy, so it is easy fool yourself into believing you've written correct code  3) Getting a deadlock with a regular lock is a better outcome than having the invariants subtly violated, 4) Deadlocks have a more clear-cut failure mode and are easier to debug.

Guido also explained that he favored some sort of minimal queue class even if it might not handle all possible gc/weakref/signal/__del__ induced issues.  Essentially, he believes there is some value in harm reduction by minimizing the likelihood of a failure.  The will help sysadmins who already have a practice of doing monitoring and occasional restarts as a way of mitigating transient issues.
History
Date User Action Args
2017-09-06 00:04:45rhettingersetrecipients: + rhettinger, gvanrossum, tim.peters, gregory.p.smith, ncoghlan, pitrou, zzzeek, python-dev, sbt, serhiy.storchaka, JohanAR, yselivanov, itamarst, davin
2017-09-06 00:04:44rhettingersetmessageid: <1504656284.93.0.0843379527385.issue14976@psf.upfronthosting.co.za>
2017-09-06 00:04:44rhettingerlinkissue14976 messages
2017-09-06 00:04:43rhettingercreate