2 * This module provides types and constants used in thread package.
4 * Copyright: Copyright Sean Kelly 2005 - 2012.
5 * License: Distributed under the
6 * $(LINK2 http://www.boost.org/LICENSE_1_0.txt, Boost Software License 1.0).
7 * (See accompanying file LICENSE)
8 * Authors: Sean Kelly, Walter Bright, Alex Rønne Petersen, Martin Nowak
9 * Source: $(DRUNTIMESRC core/thread/osthread.d)
12 module core.thread.types;
15 * Represents the ID of a thread, as returned by $(D Thread.)$(LREF id).
16 * The exact type varies from platform to platform.
19 alias ThreadID = uint;
23 import core.sys.posix.pthread;
25 alias ThreadID = pthread_t;
32 void delegate() nothrow cbDllUnload;
37 version (GNU_StackGrowsDown)
38 enum isStackGrowingDown = true;
40 enum isStackGrowingDown = false;
44 // this should be true for most architectures
45 enum isStackGrowingDown = true;
50 static immutable size_t PAGESIZE;
51 version (Posix) static immutable size_t PTHREAD_STACK_MIN;
58 import core.sys.windows.winbase;
63 PAGESIZE = info.dwPageSize;
64 assert(PAGESIZE < int.max);
68 import core.sys.posix.unistd;
70 PAGESIZE = cast(size_t)sysconf(_SC_PAGESIZE);
71 PTHREAD_STACK_MIN = cast(size_t)sysconf(_SC_THREAD_STACK_MIN);
75 static assert(0, "unimplemented");