This is the mail archive of the
libc-alpha@sourceware.org
mailing list for the glibc project.
Re: [patch] Fix for bz14333 -- race between atexit() and exit()
On Jul 12 2017, Paul Pluzhnikov <ppluzhnikov@google.com> wrote:
> diff --git a/stdlib/exit.h b/stdlib/exit.h
> index 7f2e679246..023e81b83f 100644
> --- a/stdlib/exit.h
> +++ b/stdlib/exit.h
> @@ -20,6 +20,7 @@
>
> #include <stdbool.h>
> #include <stdint.h>
> +#include <libc-lock.h>
>
> enum
> {
> @@ -62,6 +63,10 @@ extern struct exit_function_list *__quick_exit_funcs attribute_hidden;
>
> extern struct exit_function *__new_exitfn (struct exit_function_list **listp);
> extern uint64_t __new_exitfn_called attribute_hidden;
> +__libc_lock_define (extern, __exit_funcs_lock);
> +
> +/* flag to mark that all registered atexit/onexit handlers are called */
> +extern int __exit_funcs_done attribute_hidden;
That should be bool.
Andreas.
--
Andreas Schwab, SUSE Labs, schwab@suse.de
GPG Key fingerprint = 0196 BAD8 1CE9 1970 F4BE 1748 E4D4 88E3 0EEA B9D7
"And now for something completely different."