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