aboutsummaryrefslogtreecommitdiffstats
path: root/lib/iowatch.cc
diff options
context:
space:
mode:
authorFritz Elfert <felfert@to.com>2001-05-23 08:30:31 +0000
committerFritz Elfert <felfert@to.com>2001-05-23 08:30:31 +0000
commit8e889a0ed94aa6422be8c078c123cec64774e2c2 (patch)
treef66ddcaaf9b322219d17cbdc297554a08ab2f46e /lib/iowatch.cc
parentfcbde47029c0b94adb18fc1bbcdf6137d702c457 (diff)
downloadplptools-8e889a0ed94aa6422be8c078c123cec64774e2c2.tar.gz
plptools-8e889a0ed94aa6422be8c078c123cec64774e2c2.tar.bz2
plptools-8e889a0ed94aa6422be8c078c123cec64774e2c2.zip
Fixed iowatch
More clipboard work (Works now in direction Psion -> PC ;-)
Diffstat (limited to 'lib/iowatch.cc')
-rw-r--r--lib/iowatch.cc8
1 files changed, 6 insertions, 2 deletions
diff --git a/lib/iowatch.cc b/lib/iowatch.cc
index 50c03a6..7335d4a 100644
--- a/lib/iowatch.cc
+++ b/lib/iowatch.cc
@@ -61,14 +61,18 @@ void IOWatch::remIO(const int fd) {
bool IOWatch::watch(const long secs, const long usecs) {
if (num > 0) {
+ int maxfd = 0;
fd_set iop;
FD_ZERO(&iop);
- for (int i = 0; i < num; i++)
+ for (int i = 0; i < num; i++) {
FD_SET(io[i], &iop);
+ if (io[i] > maxfd)
+ maxfd = io[i];
+ }
struct timeval t;
t.tv_usec = usecs;
t.tv_sec = secs;
- return (select(io[0]+1, &iop, NULL, NULL, &t) > 0);
+ return (select(maxfd+1, &iop, NULL, NULL, &t) > 0);
}
sleep(secs);
usleep(usecs);