Message171700
Perhaps I should have pointed out, for Sebastian's benefit, that my second patch uses "timeout" rather than "blocking" since that is the new black in python 3.
Also, I think the "threading" implementation shows clearly the problem of having two independent objects that are only losely bound by some shared common variables: The threading.py version has to rely on c_types ints for the common counters.
If the two locks were merely two different views of a common RWLock object, this problem could go away, and you could have the threading.RWLock and the multiprocessing.RWLock be different concrete classes derived from a common base class.
I also think it is time to drop the "writer preference" model, since it just adds complexity with doubtful benefits. Sebastian's model also does that.
I'll provide a new example patch presently. |
|
Date |
User |
Action |
Args |
2012-10-01 10:06:28 | kristjan.jonsson | set | recipients:
+ kristjan.jonsson, pitrou, jyasskin, asvetlov, sbt, mklauber, Sebastian.Noack |
2012-10-01 10:06:28 | kristjan.jonsson | set | messageid: <1349085988.62.0.0665384944069.issue8800@psf.upfronthosting.co.za> |
2012-10-01 10:06:28 | kristjan.jonsson | link | issue8800 messages |
2012-10-01 10:06:28 | kristjan.jonsson | create | |
|