com php-src: Revert "move winsock specific stuff into dllmain": main/main.c win32/dllmain.c
[email protected] (Anatol Belski)
| Newsgroups | php.cvs |
|---|---|
| Message-ID | <[email protected]> |
Commit: 02991f75ce429390314ef183c6a77af7aa000c39 Author: Anatol Belski <[email protected]> Sat, 11 Feb 2017 18:55:32 +0100 Parents: d94c2c796a1b032d53b382681f8413cc3d02d2da Branches: master Link: http://git.php.net/?p=php-src.git;a=commitdiff;h=02991f75ce429390314ef183c6a77af7aa000c39 Log: Revert "move winsock specific stuff into dllmain" This reverts commit d94c2c796a1b032d53b382681f8413cc3d02d2da. WSA functions are documented explicitly as unsafe for dllmain Changed paths: M main/main.c M win32/dllmain.c Diff: diff --git a/main/main.c b/main/main.c index daa8235..9e139ef 100644 --- a/main/main.c +++ b/main/main.c @@ -2057,6 +2057,10 @@ int php_module_startup(sapi_module_struct *sf, zend_module_entry *additional_mod zend_module_entry *module; #ifdef PHP_WIN32 + WORD wVersionRequested = MAKEWORD(2, 0); + WSADATA wsaData; +#endif +#ifdef PHP_WIN32 php_os = "WINNT"; old_invalid_parameter_handler = @@ -2142,6 +2146,14 @@ int php_module_startup(sapi_module_struct *sf, zend_module_entry *additional_mod tzset(); #endif +#ifdef PHP_WIN32 + /* start up winsock services */ + if (WSAStartup(wVersionRequested, &wsaData) != 0) { + php_printf("\nwinsock.dll unusable. %d\n", WSAGetLastError()); + return FAILURE; + } +#endif + le_index_ptr = zend_register_list_destructors_ex(NULL, NULL, "index pointer", 0); /* Register constants */ @@ -2404,6 +2416,11 @@ void php_module_shutdown(void) zend_shutdown(); +#ifdef PHP_WIN32 + /*close winsock */ + WSACleanup(); +#endif + /* Destroys filter & transport registries too */ php_shutdown_stream_wrappers(module_number); diff --git a/win32/dllmain.c b/win32/dllmain.c index 2e5151d..1c34fb1 100644 --- a/win32/dllmain.c +++ b/win32/dllmain.c @@ -40,9 +40,6 @@ BOOL WINAPI DllMain(HINSTANCE inst, DWORD reason, LPVOID dummy) switch (reason) { case DLL_PROCESS_ATTACH: - WORD wVersionRequested = MAKEWORD(2, 0); - WSADATA wsaData; - /* * We do not need to check the return value of php_win32_init_gettimeofday() * because the symbol bare minimum symbol we need is always available on our @@ -62,18 +59,12 @@ BOOL WINAPI DllMain(HINSTANCE inst, DWORD reason, LPVOID dummy) fprintf(stderr, "ioutil initialization failed"); return ret; } - - ret = ret && (0 == WSAStartup(wVersionRequested, &wsaData)); - if (!ret) { - fprintf(stderr, "winsock initialization failed %d", WSAGetLastError()); - return ret; - } break; +#if 0 /* prepared */ case DLL_PROCESS_DETACH: - WSACleanup(); + /* pass */ break; -#if 0 /* prepared */ case DLL_THREAD_ATTACH: /* pass */ break;