implementation thread race

Renzo Tomaselli renzo.tomaselli@tecnotp.inet.it
Fri, 28 Nov 1997 18:49:03 +0100


Hi Omniorb developers,
	I'm trying to figure out what happens when two or more server threads are
in a race because one of them is executing an object method which invokes
_dispose() while other threads are executing methods of the same object.
Does the ORB protect itself from such a case (for instance by postponing
_dispose() until the object is not busy) ? The implementation can protect
itself by some form of mutual exclusion, however serializing all methods
would be almost unfeasible because of performance reasons. Such race
conditions can happen when clients threads share the same object  (think of
naming clients where one binds a naming context while another one destroys
it).
Thanks,

		Renzo Tomaselli      
---------------------------------------------------------------------------
TecnoTP s.n.c. Special Information System Design
Maso Pelauchi I38050 Ronchi Valsugana,  Trento TN  ITALY
Tel. +39 461 773164      Fax. +39 461 773180
e-mail: renzo.tomaselli@tecnotp.inet.it   
---------------------------------------------------------------------------