So if I have Wonder OSC synchronization going on inside a single app and I lock an OSC (in a background long running thread for example), how does that affect the synchronization between it and other OSCs while it is locked? How are snapshots affected in the locked OSC during the lock period while the same snapshots change in other OSCs and vice-versa?
We still have to work within the bounds of EOF locking. Syncing is triggered by the EOObjectStore.ObjectsChangedInStoreNotification (and our own custom ERXDatabase.SnapshotCacheChanged), which pushes notifications into a queue that is processed in another thread. In that thread, we iterate through the object stores that are registered with the synchronizer, and depending on each OSC's sync settings, lock the target OSC and deliver the changes. If you have some long running operation that has a lock on the objectstore, it would be best to not register the object store with the synchronizer, because it WILL block the notification queue until it's done. I've never run into this being a problem in practice, but as with any long lock in EOF, you do need to be mindful of it.

ms

_______________________________________________
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:
http://lists.apple.com/mailman/options/webobjects-dev/archive%40mail-archive.com

This email sent to [EMAIL PROTECTED]

Reply via email to