Преглед изворни кода

2009-02-15 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>

	Call deleteSocketForReadCheck() before socket is closed.
	* src/HttpListenCommand.cc
Tatsuhiro Tsujikawa пре 16 година
родитељ
комит
55c3fb1ca0
2 измењених фајлова са 14 додато и 1 уклоњено
  1. 5 0
      ChangeLog
  2. 9 1
      src/HttpListenCommand.cc

+ 5 - 0
ChangeLog

@@ -1,3 +1,8 @@
+2009-02-15  Tatsuhiro Tsujikawa  <t-tujikawa@users.sourceforge.net>
+
+	Call deleteSocketForReadCheck() before socket is closed.
+	* src/HttpListenCommand.cc 
+
 2009-02-15  Tatsuhiro Tsujikawa  <t-tujikawa@users.sourceforge.net>
 
 	Defined virtual destructor for BObject.

+ 9 - 1
src/HttpListenCommand.cc

@@ -47,7 +47,12 @@ namespace aria2 {
 HttpListenCommand::HttpListenCommand(int32_t cuid, DownloadEngine* e):
   Command(cuid),_e(e) {}
 
-HttpListenCommand::~HttpListenCommand() {}
+HttpListenCommand::~HttpListenCommand()
+{
+  if(!_serverSocket.isNull()) {
+    _e->deleteSocketForReadCheck(_serverSocket, this);
+  }
+}
 
 bool HttpListenCommand::execute()
 {
@@ -86,6 +91,9 @@ bool HttpListenCommand::bindPort(uint16_t port)
     return true;
   } catch(RecoverableException& e) {
     logger->error(MSG_BIND_FAILURE, e, cuid, port);
+    if(!_serverSocket.isNull()) {
+      _e->deleteSocketForReadCheck(_serverSocket, this);
+    }
     _serverSocket->closeConnection();
   }
   return false;