On Thu, Oct 24, 2013 at 2:02 PM, Dave Zielinski <dzielin...@righthandtech.com> wrote: > Hi guys, > > I’ve been trying to track down a bug with multi-thread use of libevent. > I’m only using the timeout feature of libevent (no fd’s). I’ve dumbed down > the issue to a simple example which is copied in below. This code > deadlocks waiting for the event to occur.
event_base_dispatch() returns immediately if there are no events added to the event base, and no events active in the event base. When you call it from thread 2, there are no events (yet) added to the event base, and so it's going to return before thread 1 actually adds an event. You can override this behavior with the EVLOOP_NO_EXIT_ON_EMPTY flag in Libevent 2.1. In libevent 2.0, you can work around it by adding an dummy event -- say, one with a long periodic timer and a callback that does nothing. hth, -- Nick *********************************************************************** To unsubscribe, send an e-mail to majord...@freehaven.net with unsubscribe libevent-users in the body.