This could just be a thread priority thing.  When the first thread does the 
unlock, the second locks and proceeds and the println output to the log is 
delayed.  Ive definitely see that with NSLog were the order of output from 
concurrent threads is sometimes out of sequence in the logs.

That or something is dreadfully wrong.

Chuck

On 2015-01-27, 3:04 PM, "OC" wrote:

Hello there,

since I wrote an awk script to check whether my OSCs get unlocked properly, 
I've bumped into one very strange thing in the locks.

First, my code is pretty straightforward (assuming we should lock OSC at all, 
which is debatable -- based on http://terminalapp.net/dr-optimistic-locking/; 
Chuck says well all right, though it should be sufficient to catch some 
notifications instead):

===
        EOEditingContext ec=auction.editingContext()
        EOObjectStore osc=ec.rootObjectStore()
        osc.lock()
        try {
            logln "$osc LOCKED FOR CU $sess.currentUser.login"
            EOEditingContext tempec=ERXEC.newEditingContext()
            ... creating localInstanceIn as needed, updating them as 
appropriate ...
            tempec.saveChanges()
            println "... saved successfully!"
       } catch (exc) {
            ... reporting and logging error -- does not happen ...
       } finally {
            osc.unlock()
            println "$osc UNLOCKED FOR CU $sess.currentUser.login"
       }
===

and in one place in my logs, there is

===
26.1 14:06:03: 
er.extensions.eof.ERXObjectStoreCoordinator@5d5e3b92[name=unnamed] LOCKED FOR 
CU CEZProdej
... saved successfully!
26.1 14:06:03: 
er.extensions.eof.ERXObjectStoreCoordinator@5d5e3b92[name=unnamed] LOCKED FOR 
CU EPETas
... saved successfully!
er.extensions.eof.ERXObjectStoreCoordinator@5d5e3b92[name=unnamed] UNLOCKED FOR 
CU CEZProdej
er.extensions.eof.ERXObjectStoreCoordinator@5d5e3b92[name=unnamed] UNLOCKED FOR 
CU EPETas
===

What the darn?!? This should not be possible, or am I completely missing the 
point of osc.lock()?!? :-O

In the vicinity, all the other logs looks all right, no exception not other 
error reported.

As usual, I'll be pretty grateful for any insight,
OC


_______________________________________________
Do not post admin requests to the list. They will be ignored.
Webobjects-dev mailing list      
(Webobjects-dev@lists.apple.com<mailto:Webobjects-dev@lists.apple.com>)
Help/Unsubscribe/Update your Subscription:
https://lists.apple.com/mailman/options/webobjects-dev/chill%40gevityinc.com

This email sent to ch...@gevityinc.com<mailto:ch...@gevityinc.com>
 _______________________________________________
Do not post admin requests to the list. They will be ignored.
Webobjects-dev mailing list      (Webobjects-dev@lists.apple.com)
Help/Unsubscribe/Update your Subscription:
https://lists.apple.com/mailman/options/webobjects-dev/archive%40mail-archive.com

This email sent to arch...@mail-archive.com

Reply via email to