summaryrefslogtreecommitdiff
path: root/boehm-gc/win32_threads.c
diff options
context:
space:
mode:
authormegacz <megacz@138bc75d-0d04-0410-961f-82ee72b054a4>2002-02-07 03:56:40 +0000
committermegacz <megacz@138bc75d-0d04-0410-961f-82ee72b054a4>2002-02-07 03:56:40 +0000
commitef8fa395ef96991797eaa5187476966522684d03 (patch)
tree6c3ed013c8e8ef078276d9712ba1ca29f2699f19 /boehm-gc/win32_threads.c
parent2a8dfff3f974ba56056ce7f5ebc5737a6a3f5849 (diff)
downloadgcc-ef8fa395ef96991797eaa5187476966522684d03.tar.gz
2002-02-06 Adam Megacz <adam@xwt.org>
* boehm-gc/include/gc.h: (GC_CreateThread) This function is now exposed on all Win32 platforms. * boehm-gc/win32_threads.c: (GC_CreateThread) This now compiles on Win32; it invokes CreateThread() if GC is built as a DLL; otherwise it registers the thread. * boehm-gc/misc.c (GC_init): Initialize GC_allocate_ml in case libgcjgc was not built as a DLL. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@49563 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'boehm-gc/win32_threads.c')
-rw-r--r--boehm-gc/win32_threads.c15
1 files changed, 14 insertions, 1 deletions
diff --git a/boehm-gc/win32_threads.c b/boehm-gc/win32_threads.c
index 533b6a4dd9e..33facbbaa10 100644
--- a/boehm-gc/win32_threads.c
+++ b/boehm-gc/win32_threads.c
@@ -331,8 +331,18 @@ void GC_get_next_stack(char *start, char **lo, char **hi)
if (*lo < start) *lo = start;
}
+#if !defined(MSWINCE) && !(defined(__MINGW32__) && !defined(_DLL))
-# ifdef MSWINCE
+HANDLE WINAPI GC_CreateThread(
+ LPSECURITY_ATTRIBUTES lpThreadAttributes,
+ DWORD dwStackSize, LPTHREAD_START_ROUTINE lpStartAddress,
+ LPVOID lpParameter, DWORD dwCreationFlags, LPDWORD lpThreadId )
+{
+ return CreateThread(lpThreadAttributes, dwStackSize, lpStartAddress,
+ lpParameter, dwCreationFlags, lpThreadId);
+}
+
+#else /* !defined(MSWINCE) && !(defined(__MINGW32__) && !defined(_DLL))
typedef struct {
HANDLE child_ready_h, parent_ready_h;
@@ -450,6 +460,9 @@ static DWORD WINAPI thread_start(LPVOID arg)
return ret;
}
+#endif /* !defined(MSWINCE) && !(defined(__MINGW32__) && !defined(_DLL))
+
+#ifdef MSWINCE
typedef struct {
HINSTANCE hInstance;