IDL Compiler Changes or Enhancements
Generation of explicit template instantiations is now off by default. The option -GT turns it on. If turned on, the generated explicit instantiations are guarded by the same #ifdef preprocessor directives as before.
Memory Management of Event Handlers
This mechanism ensures that the handler is not deleted until the final upcall thread exits the handler.
Reference counting on handlers is optional and is disabled by default. To enable reference counting on a handler, reset its reference counting policy to "ENABLED".
To facilitate reference counting of handlers, an ACE_Event_Handler_var class was added. This class is akin to the PortableServer::ServantBase_var class.
Similar reference counting related changes were made to the Timer Queues so that handlers can be used in a thread safe manner with the queues.
The Connector implementation was completely revised to utilize the new memory management mechanisms and remove existing concurrency bugs.
Several new examples/tests were added:
Reference_Counted_Event_Handler_Test,
MT_Reference_Counted_Event_Handler_Test,
MT_Reference_Counted_Notify_Test,
Timer_Queue_Reference_Counting_Test,
NonBlocking_Conn_Test,
Reactor_Registration_Test,
WFMO_Reactor_Test,
Timer_Cancellation_Test
For further information on other changes, please consult the Change Log.