search for: ev_eof

Displaying 4 results from an estimated 4 matches for "ev_eof".

2006 May 09
2
Fix for the kevent "Unrecognized event" problem.
The attached patch should fix the problem with dying imap on "Unrecognized event". The problem is that when we register a handle for IO_ERROR only, we still can get readable/writable event without EV_EOF being set. This case was not handled. -- Vaclav Haisman -------------- next part -------------- An embedded and charset-unspecified text was scrubbed... Name: io-kq.diff URL: <http://dovecot.org/pipermail/dovecot/attachments/20060509/023b4df1/attachment.pl> -------------- next part ---------...
2004 Oct 25
0
[PATCH] Request for testing: BSD kqueue ioloop handler
...ts, + 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, changed = data->events_changed; + + iolist_del(list,...
2005 Dec 15
2
Patch: More of kqueue() support.
...->fds); p_free(ioloop->pool, ioloop->handler_context); @@ -66,8 +70,8 @@ void io_loop_handle_add(struct ioloop *i { struct ioloop_handler_context *ctx = ioloop->handler_context; const int fd = io->fd; - struct kevent ev = {fd, 0, EV_ADD | EV_CLEAR | EV_EOF, 0, 0, NULL}; - enum io_condition condition = io->condition; + struct kevent ev = { fd, 0, EV_ADD | EV_EOF, 0, 0, NULL }; + enum io_condition condition = io->condition & MASK; /* grow ctx->fds array if necessary */ if ((size_t)fd >= ctx->f...
2005 Dec 14
2
Patch: ioloop using kqueue/kevent for FreeBSD
...t;handler_context->fds); + p_free(ioloop->pool, ioloop->handler_context); +} + + +void io_loop_handle_add(struct ioloop *ioloop, struct io *io) +{ + struct ioloop_handler_context *ctx = ioloop->handler_context; + struct kevent ev = {io->fd, 0, EV_ADD | EV_CLEAR | EV_EOF, 0, 0, io}; + enum io_condition condition = io->condition; + + /* grow ctx->fds array if necessary */ + if ((size_t)io->fd >= ctx->fds_size) { + size_t old_size = ctx->fds_size; + + ctx->fds_size = nearest_power((unsigned int)i...