On Saturday 26 November 2011 11:48:30 Jonathan Duke Leto wrote: > Howdy, > > This test needs a refactoring. It fails roughly every fifth time on my > laptop.
I had a look at it and alas, it was green_threads related. The test tests asynchronous callbacks which get scheduled as tasks. Seems like Chandon stumbled over it as well and added a sleep 0.001 which gave the scheduler a chance to stop the current task and work through all the posted async callbacks. But one millisecond might not be enough time on a slow or loaded system to get all callbacks done. On expiry of the alarm, the interrupted Task gets scheduled for immediate execution again, so the next test could start before all callbacks are done. I fixed it by calling pass in a loop until the callbacks are all done. I have to say, though this test is written quite cleverly, it very much depends on the current implementation of scheduling. But for the time being it should run reliably. Stefan _______________________________________________ http://lists.parrot.org/mailman/listinfo/parrot-dev
