#include <string.h>
#include <openssl/e_os2.h>
-#if !defined(OPENSSL_SYS_MSDOS) || defined(__DJGPP__)
+#if !defined(OPENSSL_SYS_MSDOS) || defined(__DJGPP__) || defined(__MINGW32__)
#include <sys/types.h>
#include <unistd.h>
#else
CRYPTO_w_lock(CRYPTO_LOCK_ENGINE);
-#ifndef NETWARE_CLIB
- curr_pid = getpid();
-#else
+#ifdef NETWARE_CLIB
curr_pid = GetThreadID();
+#elif defined(_WIN32)
+ curr_pid = _getpid();
+#else
+ curr_pid = getpid();
#endif
/*Check if this is the first time this is being called from the current