[phobos] Typo (bug) in std.concurrency
Lars Tandle Kyllingstad
lars at kyllingen.net
Wed Jun 30 12:15:50 PDT 2010
Great, thanks! I can confirm that receiveTimeout() doesn't hang
anymore.
I just encountered another problem with the SVN version of
std.concurrency. The following code is a simplified version of an idiom
which is used in TDPL, namely, sending a Tid as a message:
import std.concurrency;
void main()
{
Tid someTid;
someTid.send(thisTid);
}
Upon compilation, I get the following error:
/home/lars/code/phobos-trunk/phobos/std/concurrency.d(217): Error:
static assert "Aliases to mutable thread-local data not allowed."
a.d(6): instantiated from here: send!(Tid)
I do not get this message when I compile with the released (2.047)
version of std.concurrency.
-Lars
On Wed, 2010-06-30 at 11:36 -0700, Sean Kelly wrote:
> Okay, should be fixed now.
>
> On Jun 30, 2010, at 8:38 AM, Sean Kelly wrote:
>
> > Oh well, looks like I have even more fixing to do :-)
> >
> > On Jun 30, 2010, at 7:35 AM, Lars Tandle Kyllingstad wrote:
> >
> >> Yeah, I noticed that you committed the fix, but too late. :) Due to
> >> some server lag, I got the "phobos commit" message several hours after I
> >> sent my e-mail, even though the commit was apparently done before I sent
> >> it.
> >>
> >> In case it's useful, I should mention that even after fixing the tuple
> >> issue and changing the return type of receiveTimeout() to void, it still
> >> doesn't work. The following code hangs indefinitely:
> >>
> >> import std.concurrency;
> >>
> >> void main()
> >> {
> >> // Should only block for 1ms:
> >> receiveTimeout(1, (int i) { });
> >> }
> >>
> >> -Lars
> >>
> >>
> >>
> >> On Tue, 2010-06-29 at 20:47 -0700, Sean Kelly wrote:
> >>> The code has changed a ton recently and I hadn't gotten around to testing receiveTimeout yet. I'll take care of it.
> >>>
> >>> Sent from my iPhone
> >>>
> >>> On Jun 29, 2010, at 4:09 PM, Lars Tandle Kyllingstad <lars at kyllingen.net> wrote:
> >>>
> >>>> I'm guessing this error turned up because someone tried to use
> >>>> receiveTimeout(). That's when it happened for me, at least. But when I
> >>>> fixed this, another error occurred:
> >>>>
> >>>> receiveTimeout() is supposed to return a bool, but it tries to return
> >>>> the result of MessageBox.get(), which is void. So get() should, in the
> >>>> case when ops[0] is an integer, somehow detect whether a message was
> >>>> received within the time limit and return a bool.
> >>>>
> >>>> Sean, if you aren't working on this already, I can look into it if you
> >>>> like.
> >>>>
> >>>> -Lars
> >>>>
> >>>>
> >>>>
> >>>> On Tue, 2010-06-29 at 09:40 -0700, Sean Kelly wrote:
> >>>>> Okay I guess that makes sense. Should be easy enough to fix anyway.
> >>>>>
> >>>>> On Jun 29, 2010, at 8:43 AM, Steve Schveighoffer wrote:
> >>>>>
> >>>>>> You can't slice a tuple and assign it back to the same tuple type.
> >>>>>>
> >>>>>> -Steve
> >>>>>>
> >>>>>> ----- Original Message ----
> >>>>>>> From: Sean Kelly <sean at invisibleduck.org>
> >>>>>>> To: Discuss the phobos library for D <phobos at puremagic.com>
> >>>>>>> Sent: Tue, June 29, 2010 11:39:50 AM
> >>>>>>> Subject: Re: [phobos] Typo (bug) in std.concurrency
> >>>>>>>
> >>>>>>> On Jun 29, 2010, at 7:00 AM, Simen Kjaeraas wrote:
> >>>>>>
> >>>>>>>
> >>>>>>> http://d.puremagic.com/issues/show_bug.cgi?id=4406
> >>>>>>>
> >>>>>>> Posting it
> >>>>>>> here too, to make sure it gets noticed. It's a rather simple fix.
> >>>>>>
> >>>>>> You
> >>>>>>> can't slice a tuple? Seriously? I could have sworn that I tested
> >>>>>>> this and it worked.
> >>
> >>
> >> _______________________________________________
> >> phobos mailing list
> >> phobos at puremagic.com
> >> http://lists.puremagic.com/mailman/listinfo/phobos
> >
> > _______________________________________________
> > phobos mailing list
> > phobos at puremagic.com
> > http://lists.puremagic.com/mailman/listinfo/phobos
>
> _______________________________________________
> phobos mailing list
> phobos at puremagic.com
> http://lists.puremagic.com/mailman/listinfo/phobos
More information about the phobos
mailing list