sleepy receiveTimeout?

Joost 't Hart Joost.t.Hart at planet.nl
Sat Dec 18 14:19:47 PST 2010


On 12/18/2010 10:46 PM, Jonathan M Davis wrote:
> On Saturday 18 December 2010 13:22:52 Joost 't Hart wrote:
>> Hi,
>>
>> (also posted on news.gmane.org, but does not seem to appear there)
>>
>> New to this group and to D, but getting "into" it fast.
>
> Welcome!
>
>> Came across a problem.
>>
>> 2.050 / Linux
>>
>> 1) On windows we can get any (std.concurrency, which is what I use in my
>> project) thread to sleep using Sleep() from core.sys.windows.windows. I
>> cannot find the alternative under Linux...
>>
>> Is there one?
>
> You're using the wrong function (see http://is.gd/iYySf ). The correct function
> is core.Thread.sleep(). It works on both Windows and Linux. It's a static
> function which should work just fine regardless of whether you're using Thread
> directly or using spawn().

Thanks Jonathan!

After another minute of eyebrowing I got it working:

import core.thread;
....
void mySleep( long tim_in_millisecs )
{
     // No, not a simple ::sleep, and please do care about those numbers!
     Thread.sleep( tim_in_millisecs * 10_000 );
}

Quoting the documentation:

/Suspends the calling thread for at least the supplied period./

What does "at least" mean here? Is there also an "at most"? I do not 
want my friend to end up in cyberspace. :-)

I guess part (2) of my original posting still stands as a candidate bug?

Cheers,
Joost.

>
> - Jonathan M Davis



More information about the Digitalmars-d-learn mailing list