int
My_Service::svc()
{
{
bool done = false;
while (!done) {
try {
if (orb_->orb_core()->has_shutdown() == false) {
orb_->run();
}
done = true;
} catch (const CORBA::SystemException& sysex) {
sysex._tao_print_exception(
"ERROR: My_Service::svc");
} catch (const CORBA::UserException& userex) {
userex._tao_print_exception(
"ERROR:My_Service::svc");
} catch (const CORBA::Exception& ex) {
ex._tao_print_exception(
"ERROR:My_Service::svc");
}
if (orb_->orb_core()->has_shutdown()) {
done = true;
} else {
orb_->orb_core()->reactor()->reset_reactor_event_loop();
}
}
}
return 0;
}