X-Git-Url: http://pilppa.org/gitweb/?p=libplpbus.git;a=blobdiff_plain;f=src%2Fplpbus%2FServerEventThread.cc;fp=src%2Fplpbus%2FServerEventThread.cc;h=9660597bd971cdfcf277b2e12ac92b5f8a872cc9;hp=fadb9f5df43ddc4dd5e7bccb81ecc2e79f5d4cc3;hb=f6bd0d4fefd6459f2e8e5e7b813933be2d87dd47;hpb=073716a0136d654f826cee98cf0e78e355d4d826 diff --git a/src/plpbus/ServerEventThread.cc b/src/plpbus/ServerEventThread.cc index fadb9f5..9660597 100644 --- a/src/plpbus/ServerEventThread.cc +++ b/src/plpbus/ServerEventThread.cc @@ -16,10 +16,9 @@ using namespace std; using namespace plpbus; ServerEventThread::ServerEventThread(plpbus_orb::OrbClient_ptr client, - const char *msg, - int period, - OrbServerImpl *server_obj) -{ + const char *msg, + int period, + OrbServerImpl *server_obj) { this->_orb_client = plpbus_orb::OrbClient::_duplicate(client); this->_orb_msg = msg; this->_interval = period; @@ -27,8 +26,7 @@ ServerEventThread::ServerEventThread(plpbus_orb::OrbClient_ptr client, _orb_client->receive_event_message("event_listener_started"); } -void ServerEventThread::run(void* arg) -{ +void ServerEventThread::run(void* arg) { try { while(_server_obj->is_shutdown_pending() == 0) { omni_thread::sleep(_interval); @@ -39,5 +37,7 @@ void ServerEventThread::run(void* arg) log_error("server_thread failed, could not connect to client!\n"); } log_debug("server_thread, closing\n"); - _server_obj->server_thread_closed(); + if (_server_obj != NULL) { + _server_obj->server_thread_closed(); + } }