[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