beforepoll/afterpoll routines now use the global variables provided.
Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
};
static int log_from_fd_beforepoll(void *sst, struct pollfd *fds, int *nfds_io,
- int *timeout_io,
- const struct timeval *tv_now, uint64_t *now)
+ int *timeout_io)
{
struct fdlog *st=sst;
if (!st->finished) {
return 0;
}
-static void log_from_fd_afterpoll(void *sst, struct pollfd *fds, int nfds,
- const struct timeval *tv_now, uint64_t *now)
+static void log_from_fd_afterpoll(void *sst, struct pollfd *fds, int nfds)
{
struct fdlog *st=sst;
int r,remain,i;
static beforepoll_fn signal_beforepoll;
static int signal_beforepoll(void *st, struct pollfd *fds, int *nfds_io,
- int *timeout_io, const struct timeval *tv_now,
- uint64_t *now)
+ int *timeout_io)
{
if (*nfds_io<1) {
*nfds_io=1;
}
static afterpoll_fn signal_afterpoll;
-static void signal_afterpoll(void *st, struct pollfd *fds, int nfds,
- const struct timeval *tv, uint64_t *now)
+static void signal_afterpoll(void *st, struct pollfd *fds, int nfds)
{
uint8_t buf[16];
struct signotify *n;
}
static int resolver_beforepoll(void *sst, struct pollfd *fds, int *nfds_io,
- int *timeout_io, const struct timeval *tv_now,
- uint64_t *now)
+ int *timeout_io)
{
struct adns *st=sst;
return adns_beforepoll(st->ast, fds, nfds_io, timeout_io, tv_now);
}
-static void resolver_afterpoll(void *sst, struct pollfd *fds, int nfds,
- const struct timeval *tv_now, uint64_t *now)
+static void resolver_afterpoll(void *sst, struct pollfd *fds, int nfds)
{
struct adns *st=sst;
adns_query aq;
((uint64_t)tv_now_global.tv_usec/(uint64_t)1000);
idx=0;
for (i=reg; i; i=i->next) {
- i->after(i->state, fds+idx, i->nfds, &tv_now_global, &now_global);
+ i->after(i->state, fds+idx, i->nfds);
idx+=i->nfds;
}
remain=total_nfds;
timeout=-1;
for (i=reg; i; i=i->next) {
nfds=remain;
- rv=i->before(i->state, fds+idx, &nfds, &timeout, &tv_now_global, &now_global);
+ rv=i->before(i->state, fds+idx, &nfds, &timeout);
if (rv!=0) {
/* XXX we need to handle this properly: increase the
nfds available */
/***** SCHEDULING support */
-/* "now" is current program time, in milliseconds. It is derived
- (once) from tv_now. If nfds_io is insufficient for your needs, set
- it to the required number and return ERANGE. timeout is in milliseconds;
- if it is too high then lower it. It starts at -1 (==infinite) */
+/* If nfds_io is insufficient for your needs, set it to the required
+ number and return ERANGE. timeout is in milliseconds; if it is too
+ high then lower it. It starts at -1 (==infinite) */
typedef int beforepoll_fn(void *st, struct pollfd *fds, int *nfds_io,
- int *timeout_io, const struct timeval *tv_now,
- uint64_t *now);
-typedef void afterpoll_fn(void *st, struct pollfd *fds, int nfds,
- const struct timeval *tv_now, uint64_t *now);
+ int *timeout_io);
+typedef void afterpoll_fn(void *st, struct pollfd *fds, int nfds);
/* Register interest in the main loop of the program. Before a call
to poll() your supplied beforepoll function will be called. After
}
static int site_beforepoll(void *sst, struct pollfd *fds, int *nfds_io,
- int *timeout_io, const struct timeval *tv_now,
- uint64_t *now)
+ int *timeout_io)
{
struct site *st=sst;
}
/* NB site_afterpoll will be called before site_beforepoll is ever called */
-static void site_afterpoll(void *sst, struct pollfd *fds, int nfds,
- const struct timeval *tv_now, uint64_t *now)
+static void site_afterpoll(void *sst, struct pollfd *fds, int nfds)
{
struct site *st=sst;
};
static int userv_beforepoll(void *sst, struct pollfd *fds, int *nfds_io,
- int *timeout_io, const struct timeval *tv_now,
- uint64_t *now)
+ int *timeout_io)
{
struct userv *st=sst;
return 0;
}
-static void userv_afterpoll(void *sst, struct pollfd *fds, int nfds,
- const struct timeval *tv_now, uint64_t *now)
+static void userv_afterpoll(void *sst, struct pollfd *fds, int nfds)
{
struct userv *st=sst;
uint8_t rxbuf[DEFAULT_BUFSIZE];
}
static int tun_beforepoll(void *sst, struct pollfd *fds, int *nfds_io,
- int *timeout_io, const struct timeval *tv_now,
- uint64_t *now)
+ int *timeout_io)
{
struct tun *st=sst;
*nfds_io=1;
return 0;
}
-static void tun_afterpoll(void *sst, struct pollfd *fds, int nfds,
- const struct timeval *tv_now, uint64_t *now)
+static void tun_afterpoll(void *sst, struct pollfd *fds, int nfds)
{
struct tun *st=sst;
int l;
};
static int udp_beforepoll(void *state, struct pollfd *fds, int *nfds_io,
- int *timeout_io, const struct timeval *tv,
- uint64_t *now)
+ int *timeout_io)
{
struct udp *st=state;
if (*nfds_io<1) {
return 0;
}
-static void udp_afterpoll(void *state, struct pollfd *fds, int nfds,
- const struct timeval *tv, uint64_t *now)
+static void udp_afterpoll(void *state, struct pollfd *fds, int nfds)
{
struct udp *st=state;
struct sockaddr_in from;