+/* $Id: thread_pool_observer.cpp,v 1.19 2007-02-19 12:51:08 adam Exp $
+ Copyright (c) 2005-2007, Index Data.
-/* $Id: thread_pool_observer.cpp,v 1.14 2006-03-16 10:40:59 adam Exp $
- Copyright (c) 2005-2006, Index Data.
-
-%LICENSE%
+ See the LICENSE file for details
*/
#include "config.hpp"
#include <deque>
-#include <yaz++/socket-observer.h>
+#include <yazpp/socket-observer.h>
#include <yaz/log.h>
#include "thread_pool_observer.hpp"
#include "pipe.hpp"
-namespace mp = metaproxy_1;
-
namespace metaproxy_1 {
class ThreadPoolSocketObserver::Worker {
public:
using namespace yazpp_1;
-using namespace mp;
+using namespace metaproxy_1;
-ThreadPoolSocketObserver::Rep::Rep(ISocketObservable *obs)
+ThreadPoolSocketObserver::Rep::Rep(yazpp_1::ISocketObservable *obs)
: m_socketObservable(obs), m_pipe(9123)
{
}
}
-ThreadPoolSocketObserver::ThreadPoolSocketObserver(ISocketObservable *obs,
- int no_threads)
+ThreadPoolSocketObserver::ThreadPoolSocketObserver(
+ yazpp_1::ISocketObservable *obs, int no_threads)
: m_p(new Rep(obs))
{
obs->addObserver(m_p->m_pipe.read_fd(), this);
if (event & SOCKET_OBSERVE_READ)
{
char buf[2];
+#ifdef WIN32
recv(m_p->m_pipe.read_fd(), buf, 1, 0);
+#else
+ read(m_p->m_pipe.read_fd(), buf, 1);
+#endif
IThreadPoolMsg *out;
{
boost::mutex::scoped_lock output_lock(m_p->m_mutex_output_data);
{
boost::mutex::scoped_lock output_lock(m_p->m_mutex_output_data);
m_p->m_output.push_back(out);
+#ifdef WIN32
send(m_p->m_pipe.write_fd(), "", 1, 0);
+#else
+ write(m_p->m_pipe.write_fd(), "", 1);
+#endif
}
}
}