diff --git a/MAC/APL/PIC/RSPDriver/src/RSPDriver.cc b/MAC/APL/PIC/RSPDriver/src/RSPDriver.cc index ba6f79fa81feb889cca77623e20b9b7ecad0ecbc..49d26b47e1c439e4f8dc5c81075bebafceb9bea8 100644 --- a/MAC/APL/PIC/RSPDriver/src/RSPDriver.cc +++ b/MAC/APL/PIC/RSPDriver/src/RSPDriver.cc @@ -886,10 +886,11 @@ GCFEvent::TResult RSPDriver::enabled(GCFEvent& event, GCFPortInterface& port) { GCFTCPPort* client = new GCFTCPPort(); client->init(*this, "client", GCFPortInterface::SPP, RSP_PROTOCOL); - m_acceptor.accept(*client); - m_client_list.push_back(client); - - LOG_INFO(formatString("NEW CLIENT CONNECTED: %d clients connected", m_client_list.size())); + if (!m_acceptor.accept(*client)) delete client; + else { + m_client_list.push_back(client); + LOG_INFO(formatString("NEW CLIENT CONNECTED: %d clients connected", m_client_list.size())); + } } break;