On Thu, 19 Feb 2009, Maurilio Longo wrote: Hi Maurilio,
> it starts misbehaving with three threads, look at this: > 1 200 blocked fd504d64 > 2 200 blocked fd5080c4 > 3 200 running fd507008 > 4 200 ready fd507008 > threads 3 and 4 are running and run to completion, thread 2 is blocked since > it started, thread 1 is blocked waiting for the other threads to start. ( 200 > is priority normal ) > This is with 5 threads > 1 200 blocked > 2 200 blocked > 3 200 blocked > 4 200 blocked > 5 200 running > 6 200 ready > They're all blocked but the last two. > This is with 10 threads > 1 200 blocked > 2 200 running > 3 200 blocked > 4 200 blocked > 5 200 ready > 6 200 blocked > 7 200 blocked > 8 200 blocked > 9 200 blocked > 10 200 ready > 11 200 ready > Now four are running, the others are blocked since they were created ?! This can be result of my typo in _hb_thread_cond_signal()/ _hb_thread_cond_broadcast() used in current OS2 builds. By mistake it was LIFO instead of FIFO. I'll commit fix in a while but probably it's not the only one problem. best regards, Przemek _______________________________________________ Harbour mailing list Harbour@harbour-project.org http://lists.harbour-project.org/mailman/listinfo/harbour