]> pilppa.org Git - libplpbus.git/blobdiff - src/plpbus/ServerEventThread.cc
cleanups
[libplpbus.git] / src / plpbus / ServerEventThread.cc
index fadb9f5df43ddc4dd5e7bccb81ecc2e79f5d4cc3..9660597bd971cdfcf277b2e12ac92b5f8a872cc9 100644 (file)
@@ -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();
+       }
 }