void init_sender_tracking(struct opt_s *opt, struct sender_tracking *st) { memset(st, 0, sizeof(struct sender_tracking)); #if!(PREEMPTKERNEL) //TIMERTYPE onenano; ZEROTIME(st->onenano); SETONE(st->onenano); #endif ZEROTIME(st->req); afi_update_metadata(opt->fi, &st->n_files_probed, &st->n_packets_probed, &st->status_probed); }
static void channel_rearm (channel_t *chan, uint32_t io) { struct epoll_event evt; int rc; evt.data.ptr = chan; evt.events = io | EPOLLET | EPOLLONESHOT; if (FLAG_SHUT_BOTH == (chan->flags & FLAG_SHUT_BOTH)) { if (ISMONITORED(chan)) -- count_epoll; if (ISREGISTERED(chan)) { retry: rc = epoll_ctl(fd_epoll, EPOLL_CTL_DEL, chan->sock, NULL); if (rc < 0) { if (errno == EINTR) goto retry; if (errno != ENOENT) { ASSERT(rc == 0); } } } chan->flags &= ~(FLAG_LISTED|FLAG_ACTIVITY|FLAG_REGISTERED); } if (ISREGISTERED(chan)) { if (io != chan->events) { rc = epoll_ctl(fd_epoll, EPOLL_CTL_MOD, chan->sock, &evt); ASSERT(rc == 0); } } else { rc = epoll_ctl(fd_epoll, EPOLL_CTL_ADD, chan->sock, &evt); ASSERT(rc == 0); } (void) rc; if (!ISMONITORED(chan)) ++count_epoll; chan->events = io; chan->flags = SETONE(chan->flags,FLAG_LISTED|FLAG_ACTIVITY, FLAG_MONITORED|FLAG_REGISTERED); }