X-Git-Url: http://git.indexdata.com/?a=blobdiff_plain;f=src%2Fyaz-pdu-assoc-thread.cpp;h=294aa609475bdbb5118314549cf7e62ffb2498bc;hb=refs%2Ftags%2FYAZPP.ERE2;hp=d59846cda7c84956096038c138e62ab85d74fa64;hpb=c96f00d22f0af97ad7fd5d8687fa0b65b67de77e;p=yazpp-moved-to-github.git diff --git a/src/yaz-pdu-assoc-thread.cpp b/src/yaz-pdu-assoc-thread.cpp index d59846c..294aa60 100644 --- a/src/yaz-pdu-assoc-thread.cpp +++ b/src/yaz-pdu-assoc-thread.cpp @@ -1,24 +1,28 @@ /* - * Copyright (c) 1998-2001, Index Data. + * Copyright (c) 1998-2004, Index Data. * See the file LICENSE for details. * - * $Log: yaz-pdu-assoc-thread.cpp,v $ - * Revision 1.3 2001-08-13 16:39:12 adam - * PDU_Assoc keeps track of children. Using yaz_log instead of logf. - * - * Revision 1.2 2001/03/27 14:47:45 adam - * New server facility scheme. - * - * Revision 1.1 2001/03/26 14:43:49 adam - * New threaded PDU association. - * + * $Id: yaz-pdu-assoc-thread.cpp,v 1.12 2005-06-25 15:53:19 adam Exp $ */ #ifdef WIN32 +#define USE_THREADS 1 +#endif + +#if YAZ_POSIX_THREADS +#define USE_THREADS 1 +#endif + +#if USE_THREADS + +#if HAVE_UNISTD_H +#include +#endif + +#ifdef WIN32 #include #else #include -#include #endif @@ -26,14 +30,14 @@ #include #include -#include -#include +#include +#include +using namespace yazpp_1; - -Yaz_PDU_AssocThread::Yaz_PDU_AssocThread( - IYazSocketObservable *socketObservable) - : Yaz_PDU_Assoc(socketObservable) +PDU_AssocThread::PDU_AssocThread( + ISocketObservable *socketObservable) + : PDU_Assoc(socketObservable) { } @@ -45,22 +49,22 @@ void * #endif events(void *p) { - Yaz_SocketManager *s = (Yaz_SocketManager *) p; + SocketManager *s = (SocketManager *) p; - yaz_log (LOG_LOG, "thread started"); + yaz_log (YLOG_LOG, "thread started"); while (s->processEvent() > 0) - ; - yaz_log (LOG_LOG, "thread finished"); + ; + yaz_log (YLOG_LOG, "thread finished"); #ifdef WIN32 #else return 0; #endif } -void Yaz_PDU_AssocThread::childNotify(COMSTACK cs) +void PDU_AssocThread::childNotify(COMSTACK cs) { - Yaz_SocketManager *socket_observable = new Yaz_SocketManager; - Yaz_PDU_Assoc *new_observable = new Yaz_PDU_Assoc (socket_observable, cs); + SocketManager *socket_observable = new SocketManager; + PDU_Assoc *new_observable = new PDU_Assoc (socket_observable, cs); new_observable->m_next = m_children; m_children = new_observable; @@ -68,13 +72,13 @@ void Yaz_PDU_AssocThread::childNotify(COMSTACK cs) /// Clone PDU Observer new_observable->m_PDU_Observer = - m_PDU_Observer->sessionNotify(new_observable, cs_fileno(cs)); + m_PDU_Observer->sessionNotify(new_observable, cs_fileno(cs)); #ifdef WIN32 long t_id; t_id = _beginthread (events, 0, socket_observable); if (t_id == -1) { - yaz_log (LOG_FATAL|LOG_ERRNO, "_beginthread failed"); + yaz_log (YLOG_FATAL|YLOG_ERRNO, "_beginthread failed"); exit (1); } #else @@ -82,8 +86,17 @@ void Yaz_PDU_AssocThread::childNotify(COMSTACK cs) int id = pthread_create (&tid, 0, events, socket_observable); if (id) - yaz_log (LOG_ERRNO|LOG_FATAL, "pthread_create returned id=%d", id); + yaz_log (YLOG_ERRNO|YLOG_FATAL, "pthread_create returned id=%d", id); else - pthread_detach (tid); + pthread_detach (tid); #endif } +#endif +/* + * Local variables: + * c-basic-offset: 4 + * indent-tabs-mode: nil + * End: + * vim: shiftwidth=4 tabstop=8 expandtab + */ +