Displaying 2 results from an estimated 2 matches for "iolist_ev".
Did you mean:
iolist_del
2004 Oct 25
0
[PATCH] move iolist functions into separate file
...ist->ios[IOLIST_INPUT] == io) {
+ list->ios[IOLIST_INPUT] = NULL;
+ return list->ios[IOLIST_OUTPUT] == NULL;
+ }
+ if (list->ios[IOLIST_OUTPUT] == io) {
+ list->ios[IOLIST_OUTPUT] = NULL;
+ return list->ios[IOLIST_INPUT] == NULL;
+ }
+
+ i_unreached();
+ return TRUE;
+}
+
+int iolist_events(struct io_list *list, int rmask, int wmask)
+{
+ int events = 0, i;
+ struct io *io;
+
+ for (i = 0; i < IOLIST_IOS_PER_FD; i++) {
+ io = list->ios[i];
+
+ if (io == NULL)
+ continue;
+
+ if (io->condition & IO_READ)
+ events |= rmask;
+ if (io->condition & IO_WRITE)...
2004 Oct 25
0
[PATCH] Request for testing: BSD kqueue ioloop handler
...data->events = p_realloc(ioloop->pool, data->events,
+ sizeof(int) * old_size,
+ sizeof(int) * data->events_size);
+ }
+ data->events_pos++;
+
+ iolist_add(list, io);
+
+ event = data->events + data->events_changed;
+ data->events_changed++;
+
+ EV_SET(event, fd, iolist_events(list, EVFILT_READ, EVFILT_WRITE),
+ EV_ADD | EV_EOF, 0, 0, io);
+}
+
+void io_loop_handle_remove(struct ioloop *ioloop, struct io *io)
+{
+ struct ioloop_handler_data *data = ioloop->handler_data;
+ struct io_list *list = data->fd_index[io->fd];
+ struct kevent *event;
+ int i, change...