On Nov 9, 2010, at 9:57 PM, Nick Mathewson wrote: > On Tue, Nov 9, 2010 at 11:47 PM, Ralph Castain <r...@open-mpi.org> wrote: >> >> On Nov 9, 2010, at 9:03 PM, Nick Mathewson wrote: > [...] >>> So I'm assuming that you've got all the threading callbacks set up >>> (probably via evthread_use_pthreads()) before you created the event >>> base, so that evthread_make_base_notifiable() was called on the >>> event_base when you created it. If that's not the case, that's >>> probably the problem there. >> >> I missed that - this may well be my problem. Let me dig into this a little >> and get back to you. >> >> FWIW: I don't see myself drop out of the event loop when I add the event. In >> fact, just the opposite - I'm stuck in the loop and can't get out. So I'm >> not sure the bug mentioned below is accurate. >> >> Let me see what happens when I setup the event base for notification. > > To clarify, it should set itself up to be notifiable if you have > threading initialized before you create it. (If you're going to > access an event_base from multiple threads, you MUST initialize > threading, or else there won't be any locks, and you'll be in a world > of race conditions.) > > Then again, calling evthread_make_base_notifiable() on an existing > event_base shouldn't hurt, since it's (supposed to be) idempotent.
I'm confused - the function you cite requires an event base be passed to it: int evthread_make_base_notifiable(struct event_base *base); So how can I call it -before- I create the event base? > > -- > Nick > *********************************************************************** > To unsubscribe, send an e-mail to majord...@freehaven.net with > unsubscribe libevent-users in the body. *********************************************************************** To unsubscribe, send an e-mail to majord...@freehaven.net with unsubscribe libevent-users in the body.