- fd_set readFds;
- struct timeval timeout;
-
- timeout.tv_sec = caglobals.ip.selectTimeout;
- timeout.tv_usec = 0;
- struct timeval *tv = caglobals.ip.selectTimeout == -1 ? NULL : &timeout;
-
- FD_ZERO(&readFds);
- SET(u6, &readFds)
- SET(u6s, &readFds)
- SET(u4, &readFds)
- SET(u4s, &readFds)
- SET(m6, &readFds)
- SET(m6s, &readFds)
- SET(m4, &readFds)
- SET(m4s, &readFds)
+ struct pollfd readFds[MAX_UDP_SOCK_COUNT + 2]; // 8 UDP sockets, 1 netlink and 1 read pipe socket fd
+ int timeout = (caglobals.ip.selectTimeout * 1000);
+ int counter = 0;
+
+ SET(u6, readFds, counter);
+ counter++;
+ SET(u6s, readFds, counter);
+ counter++;
+ SET(u4, readFds, counter);
+ counter++;
+ SET(u4s, readFds, counter);
+ counter++;
+ SET(m6, readFds, counter);
+ counter++;
+ SET(m6s, readFds, counter);
+ counter++;
+ SET(m4, readFds, counter);
+ counter++;
+ SET(m4s, readFds, counter);
+ counter++;
+