2016-01-17 20:58 GMT+01:00 Eliot Miranda eliot.miranda@gmail.com:
Thanks Denis,
On Mon, Jan 11, 2016 at 6:54 AM, Denis Kudriashov dionisiydk@gmail.com wrote:
I write it such way:
primitiveEnterCriticalSectionOnBehalfOf: activeProcess [owningProcess ifNil: [owningProcess := activeProcess. ^false]. owningProcess = activeProcess ifTrue: [^true]. self addLast: Processor activeProcess. activeProcess suspend] valueUnpreemptively
primitiveTestAndSetOwnershipOfCriticalSectionOnBehalfOf: activeProcess [owningProcess ifNil: [owningProcess := activeProcess. ^false]. owningProcess = activeProcess ifTrue: [^true]. ^nil] valueUnpreemptively
This looks good. Do you have methods you've written? I'd like to use yours as they have your time stamp.
I only added it to renamed class LockOwnership (attached). So you can only copy it to original class which will reset timestamps