[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