The first patch is a stress test which will hang without the subsequent patch.
This patch covers all Allegro versions. The code was incorrect all along, but symptoms only appeared with real SMP.
Thanks to Franz support for recommending the solution.
The stress test may also fail intermittently for unrelated reasons. Franz is aware of this problem (which stems from the weak-keys hash in impl-allegro.lisp).
Condition variables were added to the Allegro documentation the day after I sent the last patch, which I assume is sheer coincidence. The attached patch using condition variables is better. This is for both Allegro 8.2 and 9.0.
On Sat, Jun 30, 2012 at 2:45 PM, James M. Lawrence llmjjmll@gmail.com wrote:
The first patch is a stress test which will hang without the subsequent patch.
This patch covers all Allegro versions. The code was incorrect all along, but symptoms only appeared with real SMP.
Thanks to Franz support for recommending the solution.
The stress test may also fail intermittently for unrelated reasons. Franz is aware of this problem (which stems from the weak-keys hash in impl-allegro.lisp).
On Thu, 2012-07-05 at 18:52 -0400, James M. Lawrence wrote:
Condition variables were added to the Allegro documentation the day after I sent the last patch, which I assume is sheer coincidence. The attached patch using condition variables is better. This is for both Allegro 8.2 and 9.0.
Thanks, patch committed
bordeaux-threads-devel@common-lisp.net