[phobos] Typo (bug) in std.concurrency

Sean Kelly sean at invisibleduck.org
Wed Jun 30 12:27:09 PDT 2010


Looks like it's time I start labeling references as shared in std.concurrency.  The static checking is new.

On Jun 30, 2010, at 12:15 PM, Lars Tandle Kyllingstad wrote:

> 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
> 
> 
> _______________________________________________
> phobos mailing list
> phobos at puremagic.com
> http://lists.puremagic.com/mailman/listinfo/phobos



More information about the phobos mailing list