diff options
| author | Tatsuhiro Tsujikawa <tatsuhiro.t@gmail.com> | 2010-04-19 12:53:58 +0000 |
|---|---|---|
| committer | Tatsuhiro Tsujikawa <tatsuhiro.t@gmail.com> | 2010-04-19 12:53:58 +0000 |
| commit | 0ec50a8d506a7d65ecbc937c7451126dd716c125 (patch) | |
| tree | 1867959d41e8e833c83aad711020ebff8340fe6f /src/DownloadEngineFactory.cc | |
| parent | 756592bf4d937f63829fcaaafb38e338417eb407 (diff) | |
2010-04-19 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
Supported poll() for socket event notification. --event-poll can
take value "poll". Fixed the bug that timeout for
SocketCore::isReadable()/isWritable() is ignored when epoll is
used.
* src/OptionHandlerFactory.cc
* src/a2io.h
* src/prefs.h
* src/SocketCore.h
* src/Makefile.am
* src/main.cc
* src/PollEventPoll.h
* src/SocketCore.cc
* src/DownloadEngineFactory.cc
* src/PollEventPoll.cc
* src/prefs.cc
* configure.ac
Diffstat (limited to 'src/DownloadEngineFactory.cc')
| -rw-r--r-- | src/DownloadEngineFactory.cc | 16 |
1 files changed, 11 insertions, 5 deletions
diff --git a/src/DownloadEngineFactory.cc b/src/DownloadEngineFactory.cc index e3f93646..788cf270 100644 --- a/src/DownloadEngineFactory.cc +++ b/src/DownloadEngineFactory.cc @@ -61,6 +61,7 @@ #ifdef HAVE_EPOLL # include "EpollEventPoll.h" #endif // HAVE_EPOLL +#include "PollEventPoll.h" #include "SelectEventPoll.h" #include "DlAbortEx.h" #include "FileAllocationEntry.h" @@ -91,11 +92,16 @@ DownloadEngineFactory::newDownloadEngine } } else #endif // HAVE_EPLL - if(op->get(PREF_EVENT_POLL) == V_SELECT) { - eventPoll.reset(new SelectEventPoll()); - } else { - abort(); - } +#ifdef HAVE_POLL + if(op->get(PREF_EVENT_POLL) == V_POLL) { + eventPoll.reset(new PollEventPoll()); + } else +#endif // HAVE_POLL + if(op->get(PREF_EVENT_POLL) == V_SELECT) { + eventPoll.reset(new SelectEventPoll()); + } else { + abort(); + } DownloadEngineHandle e(new DownloadEngine(eventPoll)); e->option = op; |
