Bump year
[yazpp-moved-to-github.git] / src / yaz-pdu-assoc-thread.cpp
index e48c051..9eac713 100644 (file)
@@ -1,10 +1,11 @@
-/*
- * Copyright (c) 1998-2004, Index Data.
+/* This file is part of the yazpp toolkit.
+ * Copyright (C) 1998-2013 Index Data and Mike Taylor
  * See the file LICENSE for details.
- * 
- * $Id: yaz-pdu-assoc-thread.cpp,v 1.14 2006-03-29 13:14:17 adam Exp $
  */
 
+#if HAVE_CONFIG_H
+#include <config.h>
+#endif
 #ifdef WIN32
 #define USE_THREADS 1
 #endif
@@ -46,7 +47,12 @@ PDU_AssocThread::PDU_AssocThread(
     ISocketObservable *socketObservable)
     : PDU_Assoc(socketObservable)
 {
-    
+
+}
+
+PDU_AssocThread::~PDU_AssocThread()
+{
+
 }
 
 void worker::run()
@@ -63,7 +69,7 @@ void worker::run()
 void __cdecl
 #else
 void *
-#endif 
+#endif
 events(void *p)
 {
     worker *w = (worker *) p;
@@ -83,6 +89,14 @@ void PDU_AssocThread::childNotify(COMSTACK cs)
     new_observable->m_PDU_Observer =
         m_PDU_Observer->sessionNotify(new_observable, cs_fileno(cs));
 
+    if (!new_observable->m_PDU_Observer)
+    {
+        new_observable->shutdown();
+        delete new_observable;
+        delete socket_observable;
+        return;
+    }
+
     worker *w = new worker;
     w->m_assoc = new_observable;
     w->m_mgr = socket_observable;
@@ -109,6 +123,7 @@ void PDU_AssocThread::childNotify(COMSTACK cs)
 /*
  * Local variables:
  * c-basic-offset: 4
+ * c-file-style: "Stroustrup"
  * indent-tabs-mode: nil
  * End:
  * vim: shiftwidth=4 tabstop=8 expandtab