Synchronization for Metadata...


Electron wrangler
Can some LW dev please describe the synchronization characteristics for the Metadata system?


1. Are third-party devs expected to implement their own cross-thread synchronization? None of the examples exhibit any sort of explicit synchronization, nor is there any significant mention of it in the SDK docs.

(following q's only apply if answer is that synch is built-in, versus "roll-yer-own"...)

2. What are the characteristics of the synch present (also, what granularity, as in is it per attribute? per context?)?

3. What are threading semantics for use of lwbasefunc functions? What are the ownership semantics of the base context blocks? Do threads require their own contexts? How to create? Must subscription events be handled on subscribing/receiving thread?

4. Do typical deadlock concerns apply (iow, is it lock-based or "NBS")? Are there any provisions for limiting synch-acquisition blocking using timeouts?

5. Is the access model designed around minimal contention presumptions, high contention presumptions, or...? Any non-exclusive-vs-exclusive access support?

6. Are there LWCPP equivalents for the C access mechanisms? Any synch characteristic differences for LWCPP versus LWSDK?

Last edited:


Electron wrangler
And could someone please fix the lwserver.a xcode project so it actually builds as delivered (currently full of absolute paths for Vrba's machine, expects qmake-generated files not present in SDK, etc.)?
Top Bottom