X-Git-Url: http://git.indexdata.com/?p=yazpp-moved-to-github.git;a=blobdiff_plain;f=src%2Fyaz-pdu-assoc-thread.cpp;h=5957ac4b072bb9c0cfe89e3e2e58dae43560fb02;hp=23b930805cdd1f183c0c20c4a6b312190afa9f60;hb=da1f67a7cfc946f75fc80659b146898f3361f9c8;hpb=594ba02c8c039a6570451da08e3461f22a7d0d11 diff --git a/src/yaz-pdu-assoc-thread.cpp b/src/yaz-pdu-assoc-thread.cpp index 23b9308..5957ac4 100644 --- a/src/yaz-pdu-assoc-thread.cpp +++ b/src/yaz-pdu-assoc-thread.cpp @@ -2,7 +2,7 @@ * Copyright (c) 1998-2004, Index Data. * See the file LICENSE for details. * - * $Id: yaz-pdu-assoc-thread.cpp,v 1.13 2005-10-10 15:59:43 adam Exp $ + * $Id: yaz-pdu-assoc-thread.cpp,v 1.15 2006-03-30 11:58:00 adam Exp $ */ #ifdef WIN32 @@ -30,8 +30,8 @@ #include #include -#include -#include +#include +#include using namespace yazpp_1; @@ -82,6 +82,14 @@ void PDU_AssocThread::childNotify(COMSTACK cs) /// Clone PDU Observer new_observable->m_PDU_Observer = m_PDU_Observer->sessionNotify(new_observable, cs_fileno(cs)); + + if (!new_observable->m_PDU_Observer) + { + new_observable->close(); + delete new_observable; + delete socket_observable; + return; + } worker *w = new worker; w->m_assoc = new_observable;