X-Git-Url: http://sru.miketaylor.org.uk/?a=blobdiff_plain;f=src%2Fyaz-pdu-assoc.cpp;h=2eec370854858243a0c23e9c4b0842b726c9506d;hb=50fbcf20ab48480e819ec5aef312a72c684bf213;hp=a7fc3497f860461d2607649362aa9cb8e38a9433;hpb=28588b9224eb5189af32b10f440ef2a917a05ea2;p=yazpp-moved-to-github.git diff --git a/src/yaz-pdu-assoc.cpp b/src/yaz-pdu-assoc.cpp index a7fc349..2eec370 100644 --- a/src/yaz-pdu-assoc.cpp +++ b/src/yaz-pdu-assoc.cpp @@ -1,8 +1,8 @@ /* - * Copyright (c) 1998-2001, Index Data. + * Copyright (c) 1998-2003, Index Data. * See the file LICENSE for details. * - * $Id: yaz-pdu-assoc.cpp,v 1.30 2003-10-01 13:13:51 adam Exp $ + * $Id: yaz-pdu-assoc.cpp,v 1.34 2003-10-16 16:10:43 adam Exp $ */ #include @@ -387,7 +387,7 @@ int Yaz_PDU_Assoc::send_PDU(const char *buf, int len) COMSTACK Yaz_PDU_Assoc::comstack(const char *type_and_host, void **vp) { - return cs_create_host(type_and_host, 0, vp); + return cs_create_host(type_and_host, 2, vp); } void Yaz_PDU_Assoc::listen(IYaz_PDU_Observer *observer, @@ -420,7 +420,7 @@ void Yaz_PDU_Assoc::idleTime(int idleTime) m_socketObservable->timeoutObserver(this, m_idleTime); } -void Yaz_PDU_Assoc::connect(IYaz_PDU_Observer *observer, +int Yaz_PDU_Assoc::connect(IYaz_PDU_Observer *observer, const char *addr) { yaz_log (m_log, "Yaz_PDU_Assoc::connect %s", addr); @@ -428,6 +428,8 @@ void Yaz_PDU_Assoc::connect(IYaz_PDU_Observer *observer, m_PDU_Observer = observer; void *ap; m_cs = comstack(addr, &ap); + if (!m_cs) + return -1; int res = cs_connect (m_cs, ap); yaz_log (m_log, "Yaz_PDU_Assoc::connect fd=%d res=%d", cs_fileno(m_cs), res); @@ -461,6 +463,7 @@ void Yaz_PDU_Assoc::connect(IYaz_PDU_Observer *observer, m_socketObservable->maskObserver(this, YAZ_SOCKET_OBSERVE_WRITE| YAZ_SOCKET_OBSERVE_EXCEPT); } + return 0; } // Single-threaded... Only useful for non-blocking handlers