/*
- * Copyright 2001-2007 Internet2
+ * Copyright 2001-2009 Internet2
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
/**
* SocketListener.h
- *
+ *
* Berkeley Socket-based ListenerService implementation
*/
class SocketPool;
class ServerThread;
-
+
/**
* Berkeley Socket-based ListenerService implementation
*/
~SocketListener();
DDF send(const DDF& in);
- bool run(bool* shutdown);
+
+#ifndef WIN32
+ bool setSignal(int s) {
+ m_signal = s;
+ return true;
+ }
+#endif
+
+ bool run(bool* shutdown) {
+ return run(true, shutdown);
+ }
+ bool run(bool force, bool* shutdown);
// Implemented by socket-specific subclasses.
#ifdef WIN32
virtual int send(ShibSocket& s, const char* buf, int len) const=0;
virtual int recv(ShibSocket& s, char* buf, int buflen) const=0;
+ bool m_catchAll;
protected:
bool log_error() const; // for OS-level errors
xmltooling::logging::Category* log;
/// @endcond
-
+
private:
mutable SocketPool* m_socketpool;
+#ifndef WIN32
+ int m_signal;
+#endif
bool* m_shutdown;
// Manage child threads