2 * (c) The GHC Team 2003
4 * $Id: forkOS.c,v 1.1 2003/09/21 22:20:57 wolfgang Exp $
6 * Helper function for Control.Concurrent.forkOS
12 #if defined(HAVE_PTHREAD_H) && !defined(WANT_NATIVE_WIN32_THREADS)
16 forkOS_createThreadWrapper ( void * entry )
19 rts_evalStableIO((HsStablePtr) entry, NULL);
25 forkOS_createThread ( HsStablePtr entry )
28 int result = pthread_create(&tid, NULL,
29 forkOS_createThreadWrapper, (void*)entry);
35 #elif defined(HAVE_WINDOWS_H)
38 static unsigned __stdcall
39 forkOS_createThreadWrapper ( void * entry )
42 rts_evalStableIO((HsStablePtr) entry, NULL);
48 forkOS_createThread ( HsStablePtr entry )
50 return (_beginthreadex ( NULL, /* default security attributes */
52 forkOS_createThreadWrapper,
55 (unsigned*)pId) == 0);