diff options
| author | zwer <zwer@1f4bef6d-8e0a-0410-8695-e467da8aaccf> | 2006-01-24 13:13:39 +0000 |
|---|---|---|
| committer | zwer <zwer@1f4bef6d-8e0a-0410-8695-e467da8aaccf> | 2006-01-24 13:13:39 +0000 |
| commit | 0d14897dfb0fe4310ccb2bb51a5960a03d5a5bc6 (patch) | |
| tree | 7b65667843ea5db07766d23688f045d20140361c /develop/src/tools/select.c | |
| parent | e1dadf2dbdd2bcf65517310498ded03c821e463e (diff) | |
| download | vdr-plugin-ffnetdev-0d14897dfb0fe4310ccb2bb51a5960a03d5a5bc6.tar.gz vdr-plugin-ffnetdev-0d14897dfb0fe4310ccb2bb51a5960a03d5a5bc6.tar.bz2 | |
Im Projektarchiv verschoben
git-svn-id: svn://svn.berlios.de/ffnetdev/trunk@5 1f4bef6d-8e0a-0410-8695-e467da8aaccf
Diffstat (limited to 'develop/src/tools/select.c')
| -rw-r--r-- | develop/src/tools/select.c | 49 |
1 files changed, 0 insertions, 49 deletions
diff --git a/develop/src/tools/select.c b/develop/src/tools/select.c deleted file mode 100644 index 0ab5f9b..0000000 --- a/develop/src/tools/select.c +++ /dev/null @@ -1,49 +0,0 @@ -#include "tools/select.h" - -#include <vdr/tools.h> -#include <sys/time.h> -#include <sys/types.h> -#include <time.h> -#include <unistd.h> -#include <errno.h> - -cTBSelect::cTBSelect(void) { - Clear(); -} - -cTBSelect::~cTBSelect() { -} - -int cTBSelect::Select(uint TimeoutMs) { - struct timeval tv; - ssize_t res; - int ms; - - tv.tv_usec = (TimeoutMs % 1000) * 1000; - tv.tv_sec = TimeoutMs / 1000; - - if (TimeoutMs == 0) - return ::select(m_MaxFiled + 1, &m_Rfds, &m_Wfds, NULL, &tv); - - cTimeMs starttime; - ms = TimeoutMs; - while (ms > 0 && (res = ::select(m_MaxFiled + 1, &m_Rfds, &m_Wfds, NULL, - &tv)) == -1 && errno == EINTR) { - ms = TimeoutMs - starttime.Elapsed(); - tv.tv_usec = (ms % 1000) * 1000; - tv.tv_sec = ms / 1000; - } - if (ms <= 0) { - errno = ETIMEDOUT; - return -1; - } - return res; -} - -int cTBSelect::Select(void) { - ssize_t res; - while ((res = ::select(m_MaxFiled + 1, &m_Rfds, &m_Wfds, NULL, NULL)) == -1 - && errno == EINTR) - ; - return res; -} |
