summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorspecial <special@e03df62e-2008-0410-955e-edbf42e46eb7>2007-08-19 05:00:12 +0000
committerspecial <special@e03df62e-2008-0410-955e-edbf42e46eb7>2007-08-19 05:00:12 +0000
commit3eed8d802172a3488a6c4b6dc4de0601cd857207 (patch)
treefadb4746f08bef106df2c230a56e761b58975527
parent9799eabcfd2ef314d1dcd6b212d02fadd85e02a4 (diff)
Fixed a crash within the timeout for m_httpd sockets
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@7740 e03df62e-2008-0410-955e-edbf42e46eb7
-rw-r--r--src/modules/m_httpd.cpp7
1 files changed, 4 insertions, 3 deletions
diff --git a/src/modules/m_httpd.cpp b/src/modules/m_httpd.cpp
index af8eac920..f96182103 100644
--- a/src/modules/m_httpd.cpp
+++ b/src/modules/m_httpd.cpp
@@ -68,7 +68,8 @@ class HttpServerSocket : public InspSocket
std::string http_version;
unsigned int postsize;
HttpServerTimeout* Timeout;
-
+ friend class HttpServerTimeout;
+
public:
HttpServerSocket(InspIRCd* SI, std::string host, int port, bool listening, unsigned long maxtime, FileReader* index_page) : InspSocket(SI, host, port, listening, maxtime), index(index_page), postsize(0)
@@ -103,8 +104,7 @@ class HttpServerSocket : public InspSocket
{
if (InternalState == HTTP_LISTEN)
{
- HttpServerSocket* s = new HttpServerSocket(this->Instance, newsock, ip, index);
- s = s; /* Stop GCC whining */
+ new HttpServerSocket(this->Instance, newsock, ip, index);
}
return true;
}
@@ -343,6 +343,7 @@ void HttpServerTimeout::Tick(time_t TIME)
{
SE->DelFd(s);
s->Close();
+ s->Timeout = NULL;
}
class ModuleHttpServer : public Module