X-Git-Url: http://git.indexdata.com/?p=yazproxy-moved-to-github.git;a=blobdiff_plain;f=src%2Ftstthreads.cpp;h=8ca9648bc1dfaa5affd0b78d7b1968e58544a2c8;hp=ae54b792c2e35b27c821d0fb5715f56f7b9bff29;hb=36b087dfdcfd7d098d170ea72b29a1b0690032d2;hpb=7f81d5b3aa6b9d7e4c5c1e02c91dd416eb97d19e diff --git a/src/tstthreads.cpp b/src/tstthreads.cpp index ae54b79..8ca9648 100644 --- a/src/tstthreads.cpp +++ b/src/tstthreads.cpp @@ -1,7 +1,5 @@ -/* $Id: tstthreads.cpp,v 1.3 2005-05-30 20:08:58 adam Exp $ - Copyright (c) 1998-2005, Index Data. - -This file is part of the yaz-proxy. +/* This file is part of YAZ proxy + Copyright (C) 1998-2009 Index Data YAZ proxy is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free @@ -14,19 +12,24 @@ FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License -along with YAZ proxy; see the file LICENSE. If not, write to the -Free Software Foundation, 59 Temple Place - Suite 330, Boston, MA -02111-1307, USA. - */ +along with this program; if not, write to the Free Software +Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA +*/ #include #include -#include -#include +#include +#include #include #include "msg-thread.h" +#if HAVE_UNISTD_H +#include +#endif + +using namespace yazpp_1; + class My_Msg : public IMsg_Thread { public: IMsg_Thread *handle(); @@ -41,7 +44,9 @@ IMsg_Thread *My_Msg::handle() res->m_val = m_val; printf("My_Msg::handle val=%d sleep=%d\n", m_val, sl); +#if HAVE_UNISTD_H sleep(sl); +#endif return res; } @@ -50,24 +55,24 @@ void My_Msg::result() printf("My_Msg::result val=%d\n", m_val); } -class My_Timer_Thread : public IYazSocketObserver { +class My_Timer_Thread : public ISocketObserver { private: - IYazSocketObservable *m_obs; + ISocketObservable *m_obs; int m_fd[2]; Msg_Thread *m_t; public: - My_Timer_Thread(IYazSocketObservable *obs, Msg_Thread *t); + My_Timer_Thread(ISocketObservable *obs, Msg_Thread *t); void socketNotify(int event); }; -My_Timer_Thread::My_Timer_Thread(IYazSocketObservable *obs, - Msg_Thread *t) : m_obs(obs) +My_Timer_Thread::My_Timer_Thread(ISocketObservable *obs, + Msg_Thread *t) : m_obs(obs) { pipe(m_fd); m_t = t; obs->addObserver(m_fd[0], this); - obs->maskObserver(this, YAZ_SOCKET_OBSERVE_READ); - obs->timeoutObserver(this, 2); + obs->maskObserver(this, SOCKET_OBSERVE_READ); + obs->timeoutObserver(this, 1); } void My_Timer_Thread::socketNotify(int event) @@ -81,12 +86,21 @@ void My_Timer_Thread::socketNotify(int event) int main(int argc, char **argv) { - Yaz_SocketManager mySocketManager; + SocketManager mySocketManager; - Msg_Thread m(&mySocketManager); + Msg_Thread m(&mySocketManager, 3); My_Timer_Thread t(&mySocketManager, &m) ; int i = 0; while (++i < 5 && mySocketManager.processEvent() > 0) - ; + ; return 0; } +/* + * Local variables: + * c-basic-offset: 4 + * c-file-style: "Stroustrup" + * indent-tabs-mode: nil + * End: + * vim: shiftwidth=4 tabstop=8 expandtab + */ +