Displaying 3 results from an estimated 3 matches for "ev_clear".
2005 Dec 14
2
Patch: ioloop using kqueue/kevent for FreeBSD
..., ioloop->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((unsig...
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:
2005 Dec 15
2
Patch: More of kqueue() support.
...ler_context->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 >=...