Path: csiph.com!newsfeed.hal-mli.net!feeder3.hal-mli.net!newsfeed.hal-mli.net!feeder1.hal-mli.net!feeder.erje.net!eternal-september.org!feeder.eternal-september.org!mx04.eternal-september.org!.POSTED!not-for-mail From: "aminer" Newsgroups: comp.programming.threads,comp.programming Subject: ParallelSort library have been updated to version 3.01 Date: Thu, 25 Oct 2012 21:21:09 -0500 Organization: A noiseless patient Spider Lines: 43 Message-ID: Injection-Date: Fri, 26 Oct 2012 01:16:40 +0000 (UTC) Injection-Info: mx04.eternal-september.org; posting-host="c43ca82f9e8d62a602307fe9d2e9b807"; logging-data="3807"; mail-complaints-to="abuse@eternal-september.org"; posting-account="U2FsdGVkX18/iJ2lwQlGb+5DPEbDYsU4" X-MimeOLE: Produced By Microsoft MimeOLE V6.00.2900.6157 X-RFC2646: Format=Flowed; Original X-Newsreader: Microsoft Outlook Express 6.00.2900.5931 Cancel-Lock: sha1:0lrXxK66dh8VCmM3pjRPCs0aJzQ= X-Priority: 3 X-MSMail-Priority: Normal Xref: csiph.com comp.programming.threads:1186 comp.programming:2390 Hello, ParallelSort library have been updated to version 3.01 I have coprrected a problem so that ParallelSort library will not deadlock, it was deadlocking in the situation were you enter the: if (( length1 + length2 ) <= 8000) , inside TParallelSort.merge_parallel() method. at the first time when value equal 0 without signaling the event. I have corrected this problem, and here is what i have corrected: I have added this: if long(value^)=0 then event.setevent; to the TParallelSort.merge_parallel() method. Like this: if (( length1 + length2 ) <= 8000) then begin SequentialMerge(a, t, p1, r1, p2, r2, p3,scompare); if long(value^)=0 then event.setevent; exit; end; You can download ParallelSort library version 3.01 from: http://pages.videotron.com/aminer/ Thank you, Amine Moulay Ramdane.