Skip to main content

What can result in a call to VISDeactivateAllObjects::begin() ?

  • February 16, 2013
  • 0 replies
  • 0 views

Problem:

What can result in a call to VISDeactivateAllObjects::begin() ?

Resolution:

Problem Description:

Product : VBC 4.5 and later
Platform : NA
Compiler : NA
Visibroker component : ORB

Description :

Stack trace of a VBC 4.5 Server process showing the following calls :
>>>>
.....
.....
liborb_r.so`void VISDeactivateAllObjects::begin() 0x108(746c88, f35fbf80, 0,
fffffff8, 0, f35fbfa9)
libvport_r.so`void*VISThread::_start(void*) 0x5c(746c88, 0, 0, fef34bcc, 0, 0)
libthread.so.1`_lwp_start(0, 0, 0, 0, 0, 0)


Would like to know what can result in the call to VISDeactivateAllObjects::begin() ?

Resolution:

A. ORB shutdown call results in the call to VISDeactivateAllObjects::begin().

B. ORB shutdown can be initiated by :

1. Application can explicitly call ORB::shutdown() or exit() to initiate orb shutdown.

2. VBC orb also has signal handlers (for signals such as SIGTERM and SIGINT) that can result in proper ORB shutdown.

C. The orb shutdown call internally makes invocation to destroy all the POAs. And for each POA, the _deactivate_all_objects() is invoked to deactivate the objects that are in the active object map (implemented as a dictionary) of that poa.

Old KB# 26631

#Security
#VisiBroker