On Sun, 14 Mar 2004 11:24:15 +0100 (Romance Standard Time) Xavier Nodet <[EMAIL PROTECTED]> wrote:
XN> > I've got a problem with threading: I can't open my Junk folder with XN> > threading enabled any more, the program crashes in CopyTree(). XN> XN> Except for a circular data structure, where the same node appears XN> as a children of itself, I don't see what could give such crash. The data structure is probably circular as, after debugging a bit further, I realized that it did die with "stack overflow" -- but there was an exception handler which masked it. Unfortunately, the stack is expectedly useless: I see only endless calls to ThreadContainer::flush() with the same first parameter. Looking at the values of the nodes I still don't understand how does it happen, but maybe the loop is too big for me to detect it manually? Is there any code to detect such loops in the threading algorithm? If not, there should be... XN> The CopyTree method seems to be only used in case of server-side XN> threading. Maybe there is a problem is this code (which I never looked XN> at). No, it also crashes if I disable server side threading. XN> > Anyhow, I've decided that instead of rewriting CopyTree() in a non-recursive XN> > way I'd rather get rid of it at all. Indeed, the idea of copying an O(N) XN> > amount of data (where N == number of messages) doesn't appeal to me as I'd XN> > like Mahogany to be scaleable. So I now allocate THREADNODEs everywhere with XN> > cclient fs_get() function which allows me to avoid copying completely. XN> XN> Fine. But please keep in mind that the threading algorithm itself is XN> still, even if not as efficient as possible, much quicker than e.g. accessing XN> the headers themselves in an MBX file... At least this is the bahavior I XN> observe here. Sorry, I'm afraid I don't understand this -- nothing will change with respect to accessing the headers, unless I'm missing something? Thanks, VZ ------------------------------------------------------- This SF.Net email is sponsored by: IBM Linux Tutorials Free Linux tutorial presented by Daniel Robbins, President and CEO of GenToo technologies. Learn everything from fundamentals to system administration.http://ads.osdn.com/?ad_id=1470&alloc_id=3638&op=click _______________________________________________ Mahogany-Developers mailing list [EMAIL PROTECTED] https://lists.sourceforge.net/lists/listinfo/mahogany-developers
