On Fri, 12 Mar 2004 00:29:07 +0100 (Romance Standard Time) Vadim Zeitlin <[EMAIL PROTECTED]> wrote:
> Xavier, if you're still reading this, I do. Unfortunately, I don't really have time to develop anymore... > I've got a problem with threading: I can't open my Junk folder with > threading enabled any more, the program crashes in CopyTree(). Except for a circular data structure, where the same node appears as a children of itself, I don't see what could give such crash. The CopyTree method seems to be only used in case of server-side threading. Maybe there is a problem is this code (which I never looked at). Would it be possible to check for the consistency of its output? > Anyhow, I've decided that instead of rewriting CopyTree() in a non-recursive > way I'd rather get rid of it at all. Indeed, the idea of copying an O(N) > amount of data (where N == number of messages) doesn't appeal to me as I'd > like Mahogany to be scaleable. So I now allocate THREADNODEs everywhere with > cclient fs_get() function which allows me to avoid copying completely. Fine. But please keep in mind that the threading algorithm itself is still, even if not as efficient as possible, much quicker than e.g. accessing the headers themselves in an MBX file... At least this is the bahavior I observe here. -- Xavier Nodet "They that can give up essential liberty to obtain a little temporary safety deserve neither liberty nor safety." - Benjamin Franklin, 1759.
pgp00000.pgp
Description: PGP signature