summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorTatsuhiro Tsujikawa <tatsuhiro.t@gmail.com>2008-06-04 15:27:58 +0000
committerTatsuhiro Tsujikawa <tatsuhiro.t@gmail.com>2008-06-04 15:27:58 +0000
commitbc5319081b0fc7da284d9e1a4e4a20716309ff59 (patch)
treed81a308e5e63db4ce164a831a4bdf3d8090ea691 /src
parentfc0725002dddd410f8b22e14dba020ce4bdf5e86 (diff)
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
Diffstat (limited to 'src')
-rw-r--r--src/AbstractCommand.cc1
-rw-r--r--src/PeerAbstractCommand.cc3
2 files changed, 3 insertions, 1 deletions
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)) {