The short example is provided here :
https://gist.github.com/romange/6d1d5c51e7dd8054fbf8
The version I am using is version 2.0.21-stable

When line 16 is commented out (#define EVENT_FLAG 0) the bug is reproduced.


for the 'good' version you should get output:

version 2.0.21-stable
18

and in the problematic version the counter is 1.


On Thu, Oct 22, 2015 at 7:34 PM, Azat Khuzhin <[email protected]> wrote:

> On Thu, Oct 22, 2015 at 07:02:53PM +0300, Roman Gershman wrote:
> > Hi,
> > my ebase thread does the following loop
> >
> > while ((res = event_base_loop(ebase_, EVLOOP_ONCE)) == 1) {
> > }
> >
> >
> > and the other (main) adds timer event that runs every millisecond. It
> adds
> > the event *after* the ebase thread calls event_base_loop.
> >
> > event* ev = event_new(base(), -1, EV_PERSIST | EV_TIMEOUT, &PeriodicCb,
> > data);
> > CHECK_EQ(0, event_add(ev, &tv));
> >
> >
> > I see that this event does not run. If I change flags from EVLOOP_ONCE
> to 0
> > it does run well.
> > How should I make event base to realize that the new event is added?
>
> Can you please write a sample to reproduce this (~100lines)?
>
> Also can you dump all events after you added timer *and* after
> event_base_loop(base, EVLOOP_ONCE) returned, you can use something like
> this:
>   event_base_dump_events(base, stderr);
>
> And which version of libevent do you use?
> ***********************************************************************
> To unsubscribe, send an e-mail to [email protected] with
> unsubscribe libevent-users    in the body.
>



-- 
Roman Gershman | Architect | Ubimo
+972-542-451046 | [email protected] | LinkedIn
<https://www.linkedin.com/profile/view?id=6242207> | @ubimoinc
<https://twitter.com/ubimoinc> | www.ubimo.com

Reply via email to