Issue 3791: pre_init & post_init synchronization (interceptors-rtf) Source: IONA (Mr. Matthew Newhook, ) Nature: Uncategorized Issue Severity: Summary: Are there any synchronization guarantees of pre_init and post_init calls? It would be useful for many applications if the implementation of the ORBInitializer can hold state between pre_init & post_init calls -- but currently this isn't easily possible because there are no synchronization guarantees on the interface hence concurrent calls to pre_init and post_init can occur. I'd actually like a fairly strong guarantee such that calls to both pre_init and post_init are guaranteed to be atomic. That is something like the following (I don't know how to say this sensibly in English ;) global_mutex.lock(); initializer -> pre_init() initializer -> post_init() global_mutex.unlock(); Resolution: see above Revised Text: In ptc/01-03-04: Add the following paragraph to section 21.7.3, just before section 21.7.3.1: . When ORBInitializers are executed from within the ORB_init call the pre_init operation on all registered ORBInitializers shall complete before executing the post_init operation on all registered ORBInitializers. Actions taken: August 25, 2000: received issue April 26, 2010: closed issue April 26, 2010: closed issue Discussion: Resolution: Incorporate change and close issue. Note that the additional text is written to allow an ORB implementation to run pre_init operations in parallel followed by post_init operations in parallel. It just states that you cannot start executing post_init until all pre_init calls have completed. End of Annotations:===== Date: Fri, 25 Aug 2000 10:46:59 -0230 From: Matthew Newhook To: interceptors-ftf@omg.org Subject: pre_init & post_init synchronization Message-ID: <20000825104659.B30900@ooc.com> Mime-Version: 1.0 X-Mailer: Mutt 1.0pre3us Content-Type: text/plain; charset=us-ascii X-UIDL: 39]!!-7X!!&$d!!]'j!! Hi, Are there any synchronization guarantees of pre_init and post_init calls? It would be useful for many applications if the implementation of the ORBInitializer can hold state between pre_init & post_init calls -- but currently this isn't easily possible because there are no synchronization guarantees on the interface hence concurrent calls to pre_init and post_init can occur. I'd actually like a fairly strong guarantee such that calls to both pre_init and post_init are guaranteed to be atomic. That is something like the following (I don't know how to say this sensibly in English ;) global_mutex.lock(); initializer -> pre_init() initializer -> post_init() global_mutex.unlock(); Regards, Matthew -- Matthew Newhook E-Mail: mailto:matthew@ooc.com Software Designer WWW: http://www.ooc.com Object Oriented Concepts, Inc. Phone: (709) 738-3725