summaryrefslogtreecommitdiff
path: root/src/PeerAbstractCommand.cc
diff options
context:
space:
mode:
authorTatsuhiro Tsujikawa <tatsuhiro.t@gmail.com>2008-09-14 13:43:34 +0000
committerTatsuhiro Tsujikawa <tatsuhiro.t@gmail.com>2008-09-14 13:43:34 +0000
commit0680ac5e5ed2426ed01d735bca5fbb57d6c925bb (patch)
tree0763565d76353f8a29f5bc2dddfaa7595bb88112 /src/PeerAbstractCommand.cc
parent81b2e6e1089f7765c246a7476df080db2f3499c6 (diff)
2008-09-14 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com>
If error event is received in epoll, then abort download immediately. * src/AbstractCommand.cc * src/Command.cc * src/Command.h * src/DownloadEngine.cc * src/PeerAbstractCommand.cc
Diffstat (limited to 'src/PeerAbstractCommand.cc')
-rw-r--r--src/PeerAbstractCommand.cc4
1 files changed, 3 insertions, 1 deletions
diff --git a/src/PeerAbstractCommand.cc b/src/PeerAbstractCommand.cc
index bd525db8..26f9e7d9 100644
--- a/src/PeerAbstractCommand.cc
+++ b/src/PeerAbstractCommand.cc
@@ -81,8 +81,10 @@ bool PeerAbstractCommand::execute()
if(noCheck ||
(checkSocketIsReadable && _readEvent) ||
(checkSocketIsWritable && _writeEvent) ||
- _errorEvent) {
+ _hupEvent) {
checkPoint.reset();
+ } else if(_errorEvent) {
+ throw DlAbortEx("Network problem has occurred.");
}
if(checkPoint.elapsed(timeout)) {
throw DlAbortEx(EX_TIME_OUT);