Bug 1382

Summary: Another race condition in TAO_Transport class
Product: TAO Reporter: Nanbor Wang <bala>
Component: ORBAssignee: Nanbor Wang <bala>
Status: RESOLVED FIXED    
Severity: normal CC: duane.binder, steve.vranyes
Priority: P3    
Version: 1.2.6   
Hardware: All   
OS: All   
Bug Depends on:    
Bug Blocks: 1277    

Description Nanbor Wang 2002-11-26 22:22:48 CST
The race is between the instant when the the transport class resumes the handle 
and the instant when the Transport is duplicated by the TAO_Server_Request 
class  along the request flow path. Similarly along the reply path, there is 
race between the instant when the handle is resumed till the reply is processed 
and the LF_Event is unbound. 

The exact problem: When the TAO_Transport class resumes the handle, there is a 
possibility that a thread could be dispatched to the same handler and 
transport. The secomd thread could receive a ECONNRESET from the peer, in which 
case the second thread could try closing the connection which would also mean 
closing the transport. The first thread in the meanwhile wouldnt have even 
incremented the refcount. Things crash at that point!
Comment 1 Nanbor Wang 2002-12-09 16:00:27 CST
Fixed! Here is the relevant ChangeLog entry!

Tue Dec  3 18:13:42 2002  Balachandran Natarajan 
<bala@isis-server.isis.vanderbilt.edu>