Do WSAStartup() in the DLL entry routine instead of at context creation.

git-svn-id: file:///home/lennart/svn/public/pulseaudio/trunk@837 fefdeb5f-60dc-0310-8127-8f9354f1896f
This commit is contained in:
Pierre Ossman 2006-05-11 11:02:25 +00:00
parent 26870176ba
commit 6d2a9367ba
2 changed files with 13 additions and 15 deletions

View file

@ -142,13 +142,6 @@ pa_context *pa_context_new(pa_mainloop_api *mainloop, const char *name) {
#endif #endif
pa_client_conf_env(c->conf); pa_client_conf_env(c->conf);
#ifdef OS_IS_WIN32
{
WSADATA data;
WSAStartup(MAKEWORD(2, 0), &data);
}
#endif
return c; return c;
} }
@ -187,10 +180,6 @@ static void context_free(pa_context *c) {
pa_xfree(c->name); pa_xfree(c->name);
pa_xfree(c->server); pa_xfree(c->server);
pa_xfree(c); pa_xfree(c);
#ifdef OS_IS_WIN32
WSACleanup();
#endif
} }
pa_context* pa_context_ref(pa_context *c) { pa_context* pa_context_ref(pa_context *c) {

View file

@ -34,12 +34,21 @@
extern pa_set_root(HANDLE handle); extern pa_set_root(HANDLE handle);
BOOL WINAPI DllMain(HINSTANCE hinstDLL, DWORD fdwReason, LPVOID lpvReserved) { BOOL WINAPI DllMain(HINSTANCE hinstDLL, DWORD fdwReason, LPVOID lpvReserved) {
if (fdwReason != DLL_PROCESS_ATTACH) WSADATA data;
return TRUE;
switch (fdwReason) {
case DLL_PROCESS_ATTACH:
if (!pa_set_root(hinstDLL)) if (!pa_set_root(hinstDLL))
return FALSE; return FALSE;
WSAStartup(MAKEWORD(2, 0), &data);
break;
case DLL_PROCESS_DETACH:
WSACleanup();
break;
}
return TRUE; return TRUE;
} }