diff options
Diffstat (limited to 'ext/standard/php_crypt_r.c')
-rw-r--r-- | ext/standard/php_crypt_r.c | 6 |
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 |