platforms problems
Nat Tuck
nat at ferrus.net
Thu Aug 9 02:24:02 UTC 2012
If I remember correctly, the use of sleep in the nci tests was an ugly hack
doomed to fail due to unexpected task scheduling from the start. What you
actually want there is a condition variable or a blocking channel so the
main thread can wait on the execution of the callback.
On Wed, Aug 8, 2012 at 10:00 PM, Jonathan "Duke" Leto <jonathan at leto.net>wrote:
> Howdy,
>
> I have created an issue to port the mentioned docs:
>
> https://github.com/parrot/parrot/issues/809
>
> If somebody has suggestions for exactly where these docs should go,
> please add it to the ticket.
>
> Duke
>
> On Thu, Aug 2, 2012 at 1:49 PM, Stefan Seifert <nine at detonation.org>
> wrote:
> > On Thursday 02 August 2012 15:46:45 Andy Dougherty wrote:
> >
> >> For the threads tests, it sure seems like a race condition to me that is
> >> exposing a weakness in parrot's thread implementation. Last time I
> >> looked, the tests were relying on sleep() calls. That seems wrong and
> >> fragile to me. No explicit sleep call should be needed. The threading
> >> interface ought to supply the necessary functions to ensure things are
> in
> >> whatever state the tests are expecting.
> >
> > The failing tests are not even threading related. They test callback
> > functionality of the NCI interface. The reason for them to fail in the
> threads
> > branch is that I changed the implementation of sleep() to use the timer
> > thread.
> >
> > The implementation of the timer thread is in src/alarm.c. I'm using the
> > threading library abstraction makros from the previous threading
> > implementation. Maybe they do not behave exactly like POSIX on all
> platforms?
> > I could only test them on Linux and Windows.
> >
> >> For the threads examples, I have no idea what they are actually supposed
> >> to do -- there's no documentation -- so I was never sure what was
> supposed
> >> to be happening with them, and couldn't usefully test them either.
> >
> > Sorry, I still haven't come around to add the docs. For the time being,
> you
> > can find descriptions in my bachelor thesis at
> > http://niner.name/Hybrid_Threads_for_the_Parrot_VM.pdf chapter 7 (page
> 29-31)
> >
> > Stefan
> > _______________________________________________
> > http://lists.parrot.org/mailman/listinfo/parrot-dev
>
>
>
> --
> Jonathan "Duke" Leto <jonathan at leto.net>
> Leto Labs LLC http://labs.leto.net
> 209.691.DUKE http://dukeleto.pl
> _______________________________________________
> http://lists.parrot.org/mailman/listinfo/parrot-dev
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.parrot.org/pipermail/parrot-dev/attachments/20120808/8495d68f/attachment-0001.html>
More information about the parrot-dev
mailing list