tevent: Fix maxfd calculation in tevent_select
authorVolker Lendecke <vl@samba.org>
Thu, 10 Jun 2010 07:41:11 +0000 (09:41 +0200)
committerVolker Lendecke <vl@samba.org>
Thu, 10 Jun 2010 09:24:00 +0000 (11:24 +0200)
commit7f29f817fa939ef1bbb740584f09e76e2ecd5b06
tree2947be828913c96b0217701e05e2308d8345ad15
parent9fdb69ebcdca9e56e39affd7a35d1ccb28daad5c
tevent: Fix maxfd calculation in tevent_select

When doing

        fd1 = tevent_add_fd(ev, ev, 2, 0, NULL, NULL);
        fd2 = tevent_add_fd(ev, ev, 3, 0, NULL, NULL);
        TALLOC_FREE(fd2);
        fd2 = tevent_add_fd(ev, ev, 1, 0, NULL, NULL);

we end up with select_ev->maxfd==1. This is wrong.

An alternative fix might be to make select_ev->maxfd an unsigned int and make
EVENT_INVALID_MAXFD==UINT_MAX. But in theory we might end up with an fd of
UINT_MAX.

std_event_add_fd() contains exactly the same piece of code, so I'm directly
pushing it.

Volker
lib/tevent/tevent_select.c