mirror of
https://github.com/php/php-src.git
synced 2025-08-17 22:48:57 +02:00
Fixed bug #5453 (WSA cleanup executes before MSHUTDOWN)
This moves the WSACleanup() call to after zend_shutdown() in main.c, I did some testing and I could not find any issues with this. I don't expect this to cause any issues on Netware either, although untested as I do not have such an env available (do we even support Netware anymore? Last release was in 2009 and it is now discontinued) Besides the movie, then this commit also contains a fix to the check of WSAStartup() where we don't actually confirm we get the desired version of the winsock.dll (We use 2.0).
This commit is contained in:
parent
25437255d7
commit
7813e9de11
2 changed files with 13 additions and 5 deletions
15
main/main.c
15
main/main.c
|
@ -2137,6 +2137,11 @@ int php_module_startup(sapi_module_struct *sf, zend_module_entry *additional_mod
|
|||
php_printf("\nwinsock.dll unusable. %d\n", WSAGetLastError());
|
||||
return FAILURE;
|
||||
}
|
||||
/* Check that we actually got the requested WSA version */
|
||||
if (LOBYTE(wsaData.wVersion) != 2 || HIBYTE(wsaData.wVersion) != 0) {
|
||||
php_printf("\nwinsock.dll unusable. Requested version: %d.%d, got %d.%d", LOBYTE(wVersionRequested), HIBYTE(wVersionRequested), LOBYTE(wsaData.wVersion), HIBYTE(wsaData.wVersion));
|
||||
return FAILURE;
|
||||
}
|
||||
#endif
|
||||
|
||||
le_index_ptr = zend_register_list_destructors_ex(NULL, NULL, "index pointer", 0);
|
||||
|
@ -2387,11 +2392,6 @@ void php_module_shutdown(void)
|
|||
ts_free_worker_threads();
|
||||
#endif
|
||||
|
||||
#if defined(PHP_WIN32) || (defined(NETWARE) && defined(USE_WINSOCK))
|
||||
/*close winsock */
|
||||
WSACleanup();
|
||||
#endif
|
||||
|
||||
#ifdef PHP_WIN32
|
||||
php_win32_free_rng_lock();
|
||||
#endif
|
||||
|
@ -2400,6 +2400,11 @@ void php_module_shutdown(void)
|
|||
|
||||
zend_shutdown();
|
||||
|
||||
#if defined(PHP_WIN32) || (defined(NETWARE) && defined(USE_WINSOCK))
|
||||
/*close winsock */
|
||||
WSACleanup();
|
||||
#endif
|
||||
|
||||
/* Destroys filter & transport registries too */
|
||||
php_shutdown_stream_wrappers(module_number);
|
||||
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue