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 davin
Recipients davin, neologix, r.david.murray, sbt, steinn
Date 2015-03-24.03:26:00
SpamBayes Score -1.0
Marked as misclassified Yes
Message-id <1427167561.69.0.0833375458778.issue21342@psf.upfronthosting.co.za>
In-reply-to
Content
Since the time of its introduction in 2.6, a call to multiprocessing.Lock.release on an already unlocked lock resulted in behavior that did not match that of threading.Lock.release (which raised a thread.error as far back as 2.4 and probably longer than that historically).  Similar can be said of the RLock analogs.

This is but one discrepancy of many as described in issue23484.  Behavior in threading's locks going back as far as 2.2 has not been / is not matched in multiprocessing's locks since its arrival -- it does not appear to be a case of recent changes opening a rift between these two modules' locks' behavior.

Changing the behavior that has existed in multiprocessing's locks since its arrival in the stdlib would break existing code which depends upon it (as referenced in msg236431) so I will propose a patch for issue23484 to move ahead with correcting the documentation to describe the established behaviors of multiprocessing's locks -- as part of that proposed documentation change, the behaviors discussed here should also be covered.
History
Date User Action Args
2015-03-24 03:26:01davinsetrecipients: + davin, r.david.murray, neologix, sbt, steinn
2015-03-24 03:26:01davinsetmessageid: <1427167561.69.0.0833375458778.issue21342@psf.upfronthosting.co.za>
2015-03-24 03:26:01davinlinkissue21342 messages
2015-03-24 03:26:00davincreate