diff --git a/ChangeLog b/ChangeLog index d803e4e0..f60abba7 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,9 @@ +2008-06-05 Tatsuhiro Tsujikawa + + Fixed busy loop when error/hup epoll events occur. + * src/AbstractCommand.cc + * src/PeerAbstractCommand.cc + 2008-06-04 Tatsuhiro Tsujikawa 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)) {