Re: [Libevent-users] libevent custom thread library: Recursive mutexes and wait conditions

2012-06-26 Thread Nick Mathewson
On Mon, Jun 25, 2012 at 5:21 PM, Julian Bui wrote: > Hello libevent, > > I am writing to see if I could get clarification on wait conditions and > their use with recursive locks. > > My first issue is understanding how a custom evthread_lock is supposed to be > implemented.  evthread_lock_callback

Re: [Libevent-users] Callback after all events from the current batch have been cleared

2012-06-26 Thread Nick Mathewson
On Jun 26, 2012 3:08 PM, "Zack Weinberg" wrote: > > On Tue, Jun 26, 2012 at 8:41 AM, Nick Mathewson wrote: > > It will work only so long as there are no "deferred callbacks" queued. > > By "deferred callbacks" do you mean the implementation of > BEV_OPT_DEFER_CALLBACKS, or something else? This p

Re: [Libevent-users] Callback after all events from the current batch have been cleared

2012-06-26 Thread Zack Weinberg
On Tue, Jun 26, 2012 at 8:41 AM, Nick Mathewson wrote: > On Mon, Jun 25, 2012 at 1:20 PM, Zack Weinberg wrote: >> I *think* this can be done with a timer event which is assigned a lower >> priority than all other events in the program, and which is event_add()ed >> with an immediate timeout whene

Re: [Libevent-users] Callback after all events from the current batch have been cleared

2012-06-26 Thread Nick Mathewson
On Tue, Jun 26, 2012 at 11:41 AM, Nick Mathewson wrote: > On Mon, Jun 25, 2012 at 1:20 PM, Zack Weinberg wrote: [...] >> I *think* this can be done with a timer event which is assigned a lower >> priority than all other events in the program, and which is event_add()ed >> with an immediate timeo

Re: [Libevent-users] Callback after all events from the current batch have been cleared

2012-06-26 Thread Nick Mathewson
On Mon, Jun 25, 2012 at 1:20 PM, Zack Weinberg wrote: > I'm looking at a bug which appears to come down to: some of my event > callbacks deallocate events, bufferevents, and/or their callback data. Under > difficult-to-reproduce circumstances, libevent appears to queue up calls to > my callbacks (