summaryrefslogtreecommitdiff
path: root/ext/standard/php_crypt_r.c
diff options
context:
space:
mode:
Diffstat (limited to 'ext/standard/php_crypt_r.c')
-rw-r--r--ext/standard/php_crypt_r.c6
1 files changed, 5 insertions, 1 deletions
diff --git a/ext/standard/php_crypt_r.c b/ext/standard/php_crypt_r.c
index 91063003e7..2fee5feb0f 100644
--- a/ext/standard/php_crypt_r.c
+++ b/ext/standard/php_crypt_r.c
@@ -75,7 +75,11 @@ void php_shutdown_crypt_r()
void _crypt_extended_init_r(void)
{
+#ifdef PHP_WIN32
+ LONG volatile initialized = 0;
+#else
static volatile sig_atomic_t initialized = 0;
+#endif
#ifdef ZTS
tsrm_mutex_lock(php_crypt_extended_init_lock);
@@ -83,7 +87,7 @@ void _crypt_extended_init_r(void)
if (!initialized) {
#ifdef PHP_WIN32
- InterlockedIncrement(initialized);
+ InterlockedIncrement(&initialized);
#elif (defined(__GNUC__) && (__GNUC__ >= 4 && __GNUC_MINOR >= 2))
__sync_fetch_and_add(&initialized, 1);
#endif