From 5c731e2ea669bbc732e51dc95c1ec68cc41050e6 Mon Sep 17 00:00:00 2001 From: Diogo Franco Date: Sun, 27 Mar 2011 12:38:01 -0300 Subject: configure, Windows: support static pthreads on Windows Windows pthreads requires certain functions to be called to initialize itself. It can do that through DllMain but no such luck when linked statically; mplayer needs to call the initialization explicitly. --- mplayer.c | 13 +++++++++++++ 1 file changed, 13 insertions(+) (limited to 'mplayer.c') diff --git a/mplayer.c b/mplayer.c index b9c7dcdac4..542bae7309 100644 --- a/mplayer.c +++ b/mplayer.c @@ -3889,10 +3889,23 @@ if (HAVE_CMOV) #endif /* ARCH_X86 */ } +#ifdef PTW32_STATIC_LIB +static void detach_ptw32(void) +{ + pthread_win32_thread_detach_np(); + pthread_win32_process_detach_np(); +} +#endif + /* This preprocessor directive is a hack to generate a mplayer-nomain.o object * file for some tools to link against. */ #ifndef DISABLE_MAIN int main(int argc,char* argv[]){ +#ifdef PTW32_STATIC_LIB + pthread_win32_process_attach_np(); + pthread_win32_thread_attach_np(); + atexit(detach_ptw32); +#endif if (argc > 1 && !strcmp(argv[1], "-leak-report")) talloc_enable_leak_report(); -- cgit v1.2.3