Safari Books Online is a digital library providing on-demand subscription access to thousands of learning resources.
POA Activation 385 The AdapterInactive user exception can be raised by any of the four state transition operations if they are invoked on a POA manager in the INACTIVE state. An INACTIVE POA manager is not allowed to undergo any further state transitions (not even the INACTIVE to INACTIVE state transition). Three of the four state transition operations take a wait_for_complete flag as an argu- ment. When the POA manager is making a transition from the ACTIVE state to one of the other states, it may take some time before the associated POA objects finish pro- cessing the outstanding requests. If the wait_for_complete flag is TRUE , an operation will wait for outstanding requests to finish processing. Otherwise, the operation returns straightaway. Calling an operation with the wait_for_complete flag equal to TRUE , theoretically, could lead to deadlock if called in the same thread that is actually processing the asso- ciated requests. If this is liable to occur, the ORB will throw the CORBA::BAD_INV_ORDER system exception instead, and the state transition will not take place. The deactivate() operation takes an etherealize_objects flag as its first parame- ter. This option affects only POAs that have a ServantActivator installed (see the sec- tion "Servant Activator POA," earlier in this chapter). The option instructs the servant activator POAs to call etherealize() for every entry in their active object maps. The etherealize_objects flag should normally be set equal to TRUE . A value of FALSE is