On Thu, Aug 13, 2009 at 11:04:52AM -0700, Ka-Hing Cheung wrote:
> On Thu, 2009-08-13 at 09:16 -0700, Nick Mathewson wrote:
> > On Wed, Aug 12, 2009 at 11:42:47AM -0700, Ka-Hing Cheung wrote:
> >  [...]
> > > I do realize that this breaks existing assumptions about return values.
> > > What if instead of using a different return value, we don't reset
> > > base->event_gotterm and base->event_break when triggered? We can reset
> > > them at the beginning of event_base_loop() instead.
> > 
> > How would you inspect them?  The event_base structure isn't exposed in
> > any public headers.  I suppose we could add a new accessor function.
> 
> Right.
> 
> > I like the idea of the original patch, but I'm also concerned about
> > return values.  If anyone has written code like 
> > "if (event_base_loop(base,0)<0)" or "if (event_base_loop(base,0)==-1)",
> > they'll get unexpected results.
> 
> Yes I like that too. I don't know how strict the api compatibility
> requirement is,

The foremost API requirement is: we don't want to break source
compatibility for existing correct programs.  Breaking existing
programs annoys developers, and prevents distributors from upgrading
to new Libevent versions[*].  Since the return values for
event_base_loop() and friends have been documented and relied upon for
a while, I don't think that we can change them safely.

> but I am willing to submit another patch (the one with
> accessor to base->event_gotterm/event_break) if you think that's the
> better way to do it.

Probably.

yrs,
-- 
Nick

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

Reply via email to