On Fri, Jun 13, 2008 at 10:01:33AM +0200, Ron Arts wrote:
> Hello,
> 
> I get this error on libevent 1.3e on CentOS5. Upgrading to
> a higher version is not easy to push through, to say the least,
> so that's why I am asking the list first.

The error message looks like an event that's already been added to a
queue is getting added again, and that's not supposed to happen.
"queue 2" is EVLIST_INSERTED, the list of all events that have been
event_add()ed for IO events and not event_del()d.

The double insert is pretty weird, though, since event_add() is pretty
good about not adding an event that's already been added.  The code
where it puts an event into the EVLIST_INSERTED queue is (in 1.3-svn):

        if ((ev->ev_events & (EV_READ|EV_WRITE)) &&
            !(ev->ev_flags & (EVLIST_INSERTED|EVLIST_ACTIVE))) {
                event_queue_insert(base, ev, EVLIST_INSERTED);

                return (evsel->add(evbase, ev));
        }

so unless I can't read C this morning, it should only add the event to
the queue if it's already not-inserted and not-active.

In other words, something fishy is afoot here.  Having a stack trace
and the contents of the offending struct event might help track it down.

yrs,
-- 
Nick

_______________________________________________
Libevent-users mailing list
Libevent-users@monkey.org
http://monkeymail.org/mailman/listinfo/libevent-users

Reply via email to