diff options
author | Nikos Mavrogiannopoulos <nmav@redhat.com> | 2015-06-26 16:31:21 +0200 |
---|---|---|
committer | Nikos Mavrogiannopoulos <nmav@redhat.com> | 2015-06-26 16:31:23 +0200 |
commit | 84b1a7ac383bf1db4c73b8f044170446deca8b2e (patch) | |
tree | 47503aef696b2368f259b009b65fd047e4003f13 /lib/atfork.c | |
parent | e0ffc1dcc31b089daedabd46d079061e44ba6367 (diff) | |
download | gnutls-84b1a7ac383bf1db4c73b8f044170446deca8b2e.tar.gz |
Don't use pthread_atfork(), it is not safe to use with dlopen()
http://austingroupbugs.net/view.php?id=851
Diffstat (limited to 'lib/atfork.c')
-rw-r--r-- | lib/atfork.c | 13 |
1 files changed, 1 insertions, 12 deletions
diff --git a/lib/atfork.c b/lib/atfork.c index 28aaf70177..3ef9bb9e92 100644 --- a/lib/atfork.c +++ b/lib/atfork.c @@ -42,18 +42,7 @@ static void fork_handler(void) } # endif -# if defined(HAVE_PTHREAD_ATFORK) - -# include <pthread.h> - -int _gnutls_register_fork_handler(void) -{ - if (pthread_atfork(NULL, NULL, fork_handler) != 0) - return gnutls_assert_val(GNUTLS_E_INTERNAL_ERROR); - return 0; -} - -# elif defined(HAVE___REGISTER_ATFORK) +# if defined(HAVE___REGISTER_ATFORK) extern int __register_atfork(void (*)(void), void(*)(void), void (*)(void), void *); extern void *__dso_handle; |