blob: dbd93213bfec19b4d5e5e294ca9ec18b154b1821 [file] [log] [blame]
module core.thread.test; // needs access to getStackTop()/getStackBottom()
import core.stdc.stdio;
import core.thread;
ubyte[16384] data;
void showThreadInfo() nothrow
{
try
{
auto top = getStackTop();
auto bottom = getStackBottom();
printf("tlsdata: %p\n", data.ptr);
printf("stack top: %p\n", getStackTop());
printf("stack bottom:%p\n", getStackBottom());
printf("used stack: %lld\n", cast(ulong)(bottom - top));
}
catch(Exception e)
{
assert(false, e.msg);
}
}
void main()
{
printf("### main\n");
showThreadInfo();
printf("### thread\n");
auto th = new Thread(&showThreadInfo, 16384);
th.start();
th.join();
printf("### lowlevel thread\n");
auto llth = createLowLevelThread(() { showThreadInfo(); });
joinLowLevelThread(llth);
}