diff options
| -rw-r--r-- | includes/Socket.h | 12 | 
1 files changed, 6 insertions, 6 deletions
diff --git a/includes/Socket.h b/includes/Socket.h index c31bdd8..101c467 100644 --- a/includes/Socket.h +++ b/includes/Socket.h @@ -57,12 +57,12 @@ class Socket : public Handle {  template<class Worker>  class Listener : public Task {    public: -      Listener(int port, const char * local = NULL, void * opaque = NULL) : m_stop(false), m_opaque(opaque) { -          bool r = m_listener.setLocal(local, port); +      Listener(int port, const char * local = NULL, void * opaque = NULL) : m_listener(new Socket), m_stop(false), m_opaque(opaque) { +          bool r = m_listener->setLocal(local, port);            Assert(r); -          r = m_listener.listen(); +          r = m_listener->listen();            Assert(r); -          m_name = String(ClassName(this).c_str()) + " - " + m_listener.getName(); +          m_name = String(ClassName(this).c_str()) + " - " + m_listener->getName();            Printer::elog(E_SOCKET, "Created a listener task at %p", this);        }      virtual void Do() { @@ -71,7 +71,7 @@ class Listener : public Task {          while (!m_stop) {              IO<Socket> io;              try { -                io = m_listener.accept(); +                io = m_listener->accept();              }              catch (EAgain) {                  Printer::elog(E_SOCKET, "Listener task at %p (%s) got an EAgain - stop = %s", this, ClassName(this).c_str(), m_stop ? "true" : "false"); @@ -89,7 +89,7 @@ class Listener : public Task {      }      virtual const char * getName() { return m_name.to_charp(); }    private: -    Socket m_listener; +    IO<Socket> m_listener;      Events::Async m_evt;      volatile bool m_stop;      String m_name;  | 
