summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--ChangeLog6
-rw-r--r--src/AbstractCommand.cc1
-rw-r--r--src/PeerAbstractCommand.cc3
3 files changed, 9 insertions, 1 deletions
diff --git a/ChangeLog b/ChangeLog
index d803e4e0..f60abba7 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,9 @@
+2008-06-05 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com>
+
+ Fixed busy loop when error/hup epoll events occur.
+ * src/AbstractCommand.cc
+ * src/PeerAbstractCommand.cc
+
2008-06-04 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com>
Added --bt-request-peer-speed-limit option, which was a constant
diff --git a/src/AbstractCommand.cc b/src/AbstractCommand.cc
index 8ef68b71..26e6d8df 100644
--- a/src/AbstractCommand.cc
+++ b/src/AbstractCommand.cc
@@ -105,6 +105,7 @@ bool AbstractCommand::execute() {
}
if((checkSocketIsReadable && _readEvent) ||
(checkSocketIsWritable && _writeEvent) ||
+ _errorEvent ||
#ifdef ENABLE_ASYNC_DNS
(nameResolverCheck && nameResolveFinished()) ||
#endif // ENABLE_ASYNC_DNS
diff --git a/src/PeerAbstractCommand.cc b/src/PeerAbstractCommand.cc
index d650ff59..83118fa3 100644
--- a/src/PeerAbstractCommand.cc
+++ b/src/PeerAbstractCommand.cc
@@ -75,7 +75,8 @@ bool PeerAbstractCommand::execute() {
e->getUploadSpeed() <= uploadLimit*1024) ||
*/
(checkSocketIsReadable && _readEvent) ||
- (checkSocketIsWritable && _writeEvent)) {
+ (checkSocketIsWritable && _writeEvent) ||
+ _errorEvent) {
checkPoint.reset();
}
if(checkPoint.elapsed(timeout)) {