|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
?? ??? 2016, PHP 7.2.0alpha1
+- Core:
+ . Fixed bug #54535 (WSA cleanup executes before MSHUTDOWN). (Kalle)
+
- EXIF:
. Added support for vendor specific tags for the following formats: Sony,
Samsung, DJI & Panasonic. (Kalle)
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);
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
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);