New iteration over the ev++ improvement patch.

Marc Lehmann schmorp at
Mon Jan 21 18:11:05 CET 2008

On Mon, Jan 21, 2008 at 11:30:25AM -0200, Leandro Lucarella <llucax at> wrote:
> > "Want" is the wrong word, but it would enbale us to use struct loop in place
> > of struct loop_ref.
> But it will forbids us to use the name loop for the watcher's variable.

Hmm, sounds like dejavu - why? The tag namespace and the member namespace
are distinct.

It might result in ugly code, though, which would be enough of an agrument
to put it off.

> > Oh, you mena, users will have to call ev_default_init themselves? Do you
> > think any user who knows what she is doing will prefer your method over a
> > straightforward declaration of their own default loop pointe r(which saves
> > typing).
> > 
> > *That* makes no sense whatsoever :)
> I find more natural to do (in C++):
> ev::default_loop->init (flags);
> than:
> ev_default_init (flags);

I don't find anything natural at all at calling as do-called "init" method
in C++, "shouldn't this be done by the constructor?" :)

In any case, I (personally) would prefer:

   ev::default_init (flags)

over another nesting in some obscure object.

> And BTW, why ev_default_init () and not ev_default_loop ()?

There is little difference between those names. The reason I chose init
was to emphasize that it might initialise things (you have to initialise
C librraies usually...), while ev_default_loop would have this lingering
taste of "how do i initialise it?".

> I'm a little lost now... :)

There is little difference between the two names. I might choose
differently today, and again differently tomorrow :->

In any case, I leave the final decision on how to implement this up to you :)

                The choice of a       Deliantra, the free code+content MORPG
      -----==-     _GNU_    
      ----==-- _       generation
      ---==---(_)__  __ ____  __      Marc Lehmann
      --==---/ / _ \/ // /\ \/ /      pcg at
      -=====/_/_//_/\_,_/ /_/\_\

More information about the libev mailing list