summaryrefslogtreecommitdiff
path: root/nonportable.c
diff options
context:
space:
mode:
authorrpj <rpj>2001-10-25 23:51:53 +0000
committerrpj <rpj>2001-10-25 23:51:53 +0000
commit820ca4b34c23ef8d91edade437f0f9fd781f8b89 (patch)
tree0cf9a2f78eea742c19761b071479d94644278195 /nonportable.c
parent222a76c37c89ee37eebecd53dd32fd481245e6fa (diff)
* GNUmakefile (libwsock32): Add to linker flags for
WSAGetLastError() and WSASetLastError(). * Makefile (wsock32.lib): Likewise. * create.c: Minor mostly inert changes. * implement.h (PTW32_MAX): Move into here and renamed from sched.h. (PTW32_MIN): Likewise. * GNUmakefile (TEST_ICE): Define if testing internal implementation of InterlockedCompareExchange. * Makefile (TEST_ICE): Likewise. * private.c (TEST_ICE): Likewise.
Diffstat (limited to 'nonportable.c')
-rw-r--r--nonportable.c12
1 files changed, 10 insertions, 2 deletions
diff --git a/nonportable.c b/nonportable.c
index de9dc07..27363c1 100644
--- a/nonportable.c
+++ b/nonportable.c
@@ -194,13 +194,15 @@ pthread_win32_process_attach_np ()
pthread_count++;
#endif
+#ifndef TEST_ICE
+
/*
* Load KERNEL32 and try to get address of InterlockedCompareExchange
*/
ptw32_h_kernel32 = LoadLibrary(TEXT("KERNEL32.DLL"));
ptw32_interlocked_compare_exchange =
- (PTW32_INTERLOCKED_LONG (PT_STDCALL *)(PTW32_INTERLOCKED_LPLONG, PTW32_INTERLOCKED_LONG, PTW32_INTERLOCKED_LONG))
+ (PTW32_INTERLOCKED_LONG (WINAPI *)(PTW32_INTERLOCKED_LPLONG, PTW32_INTERLOCKED_LONG, PTW32_INTERLOCKED_LONG))
#if defined(NEED_UNICODE_CONSTS)
GetProcAddress(ptw32_h_kernel32,
(const TCHAR *)TEXT("InterlockedCompareExchange"));
@@ -211,7 +213,7 @@ pthread_win32_process_attach_np ()
if (ptw32_interlocked_compare_exchange == NULL)
{
- ptw32_interlocked_compare_exchange = &ptw32_InterlockedCompareExchange;
+ ptw32_interlocked_compare_exchange = ptw32_InterlockedCompareExchange;
/*
* If InterlockedCompareExchange is not being used, then free
@@ -231,6 +233,12 @@ pthread_win32_process_attach_np ()
ptw32_h_kernel32 = 0;
}
+#else /* TEST_ICE */
+
+ ptw32_interlocked_compare_exchange = ptw32_InterlockedCompareExchange;
+
+#endif /* TEST_ICE */
+
return result;
}