Hi Ronald,

        I'm dead confused now; it seems in the plain (default) state, without
poking 'test' at runtime we have:

On Tue, 2002-10-29 at 15:28, Ronald Kuetemeier wrote:
> > >   int test = 0;
...
> > >       if(!strcmp(sockpath, tmp->u.usock.sun_path)) {
> > >         cnx = test ? tmp : NULL;
> > >         if(!test) continue;
> > >         break;
> > >       }

        which is:

        if (!strcmp (sockpath, tmp->u.usock.sun_path)) {
                cnx = NULL;
                continue;
                break;
        }

        ie. this rather radically alters things from:

      if(!strcmp(sockpath, tmp->u.usock.sun_path)) {
        cnx = tmp;
        break;
      }

> >     So 'test' is always 0, and thus you always make a new Unix domain
> > socket connection ? :-) wow - that's not going to be too efficient. I
> > imagine you'll allocate 1-2 file descriptors per object and blow your fd
> > limit pretty soon ;-) I'd be interested in the results of an:
...
> Soorry should have explained, you read to much into the variable.  It's just
> for my debug, so I can set it from the debugger while in the function and get 
> a different behavior.  It's not meant to fix anything, just gives another glue
> in the behavior on what is going on.

        Presumably if you set test to non-zero you'll still get the bug, and
will stop chewing file descriptors ? :-)

        Regards,

                Michael.

-- 
 [EMAIL PROTECTED]  <><, Pseudo Engineer, itinerant idiot


_______________________________________________
evolution-hackers maillist  -  [EMAIL PROTECTED]
http://lists.ximian.com/mailman/listinfo/evolution-hackers

Reply via email to