X-Git-Url: https://git.sesse.net/?a=blobdiff_plain;f=bin%2Foverride.c;h=c6084d88e4b0644016b84b8ce1a955b4f5bd3f22;hb=0194cf13b49fe6166152d427bcb06f5b25d197a6;hp=c98ff81deba45f8e97d1d6be5dda0d30dc4e768e;hpb=028bcb00daff59a19b16bc7ce3d76b7355528664;p=vlc diff --git a/bin/override.c b/bin/override.c index c98ff81deb..c6084d88e4 100644 --- a/bin/override.c +++ b/bin/override.c @@ -26,13 +26,6 @@ void vlc_enable_override (void); -static bool override = false; - -void vlc_enable_override (void) -{ - override = true; -} - #if defined (__GNUC__) /* typeof and statement-expression */ \ && (defined (__ELF__) && !defined (__sun__)) /* Solaris crashes on printf("%s", NULL); which is legal, but annoying. */ @@ -46,6 +39,19 @@ void vlc_enable_override (void) # include #endif +static bool override = false; + +static void vlc_reset_override (void) +{ + override = false; +} + +void vlc_enable_override (void) +{ + override = true; + pthread_atfork (NULL, NULL, vlc_reset_override); +} + static void vlogbug (const char *level, const char *func, const char *fmt, va_list ap) { @@ -186,4 +192,8 @@ int sigaction (int signum, const struct sigaction *act, struct sigaction *old) } -#endif /* __ELF__ */ +#else +static void vlc_enable_override (void) +{ +} +#endif