Lines Matching refs:events
63 pollfd.events = POLLRDHUP;
168 fde->events = 0;
172 static void fdevent_update(fdevent* fde, unsigned events) {
176 if (events & FDE_READ) {
177 node.pollfd.events |= POLLIN;
179 node.pollfd.events &= ~POLLIN;
182 if (events & FDE_WRITE) {
183 node.pollfd.events |= POLLOUT;
185 node.pollfd.events &= ~POLLOUT;
187 fde->state = (fde->state & FDE_STATEMASK) | events;
190 void fdevent_set(fdevent* fde, unsigned events) {
192 events &= FDE_EVENTMASK;
193 if ((fde->state & FDE_EVENTMASK) == events) {
197 fdevent_update(fde, events);
198 D("fdevent_set: %s, events = %u", dump_fde(fde).c_str(), events);
202 fde->events &= events;
203 if (fde->events == 0) {
210 void fdevent_add(fdevent* fde, unsigned events) {
212 fdevent_set(fde, (fde->state & FDE_EVENTMASK) | events);
215 void fdevent_del(fdevent* fde, unsigned events) {
217 fdevent_set(fde, (fde->state & FDE_EVENTMASK) & ~events);
224 if (pollfd.events & POLLIN) {
227 if (pollfd.events & POLLOUT) {
251 unsigned events = 0;
253 events |= FDE_READ;
256 events |= FDE_WRITE;
261 events |= FDE_READ | FDE_ERROR;
265 events |= FDE_READ | FDE_ERROR;
268 if (events != 0) {
273 fde->events |= events;
274 D("%s got events %x", dump_fde(fde).c_str(), events);
282 unsigned events = fde->events;
283 fde->events = 0;
287 fde->func(fde->fd, events, fde->arg);
370 D("--- --- waiting for events");