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()
- From: Paul Pluzhnikov <ppluzhnikov at google dot com>
- To: Torvald Riegel <triegel at redhat dot com>
- Cc: Andreas Schwab <schwab at suse dot de>, Joseph Myers <joseph at codesourcery dot com>, GLIBC Devel <libc-alpha at sourceware dot org>, Ricky Zhou <rickyz at google dot com>, "Carlos O'Donell" <carlos at redhat dot com>
- Date: Mon, 7 Aug 2017 12:28:39 -0700
- Subject: Re: [patch] Fix for bz14333 -- race between atexit() and exit()
- Authentication-results: sourceware.org; auth=none
- References: <CALoOobNCZqgvcLJhuJt5eSWseuTfHJ9oVsG9TpPvytyfzF56mg@mail.gmail.com> <alpine.DEB.2.20.1707111221040.845@digraph.polyomino.org.uk> <CALoOobMw+FNimtKqhO4cyayp8HGeGWO55veqKCD=fNoknreXkA@mail.gmail.com> <alpine.DEB.2.20.1707111900580.9395@digraph.polyomino.org.uk> <CALoOobOgwZx2K-FWFi5zmqjk4vfxB4B2+Bv6koou7Ks9WCT4Yw@mail.gmail.com> <mvmwp7d7i29.fsf@suse.de> <CALoOobMnZ=dE52uWT-PXSb+Sz8SRbjG7FKCmuG+kZ47db76PUg@mail.gmail.com> <1500467179.27895.55.camel@redhat.com> <CALoOobPx5KHn7rGQKTy3UnEq_YnzXnGKrKCLmJHPd5bkipb79g@mail.gmail.com> <1500926864.30433.42.camel@redhat.com> <CALoOobO1sCK2jMJ69_r-m47PshpM3OnReWkAp6QA=vr6OycrJw@mail.gmail.com> <CALoOobPuWkBOjqMnb9OWf1-3G4=vXqL_Z0LTs7HWACn=Ew+mng@mail.gmail.com>
On Mon, Jul 31, 2017 at 11:05 AM, Paul Pluzhnikov
<ppluzhnikov@google.com> wrote:
> 2017-07-31 Paul Pluzhnikov <ppluzhnikov@google.com>
> Ricky Zhou <rickyz@google.com>
> Anoop V Chakkalakkal <anoop.vijayan@in.ibm.com>
>
> [BZ #14333]
> * stdlib/cxa_atexit.c (__internal_atexit): Use __exit_funcs_lock.
> Remove atomics.
> (__new_exitfn): Fail registration when we finished at_exit processing.
> * stdlib/cxa_finalize.c (__cxa_finalize): Likewise.
> * stdlib/on_exit.c (__on_exit): Likewise.
> * stdlib/exit.c (__exit_funcs_done): New variable.
> (__run_exit_handlers): Use __exit_funcs_lock.
> * stdlib/exit.h (__exit_funcs_lock, __exit_funcs_done): New
> declarations.
> * stdlib/Makefile (test-atexit-race, test-quick_at_exit-race)
> (test-cxa_atexit-race): New tests.
> * stdlib/test-atexit-race-common.c: New.
> * stdlib/test-atexit-race.c: New.
> * stdlib/test-at_quick_exit-race.c: New.
> * stdlib/test-cxa_atexit-race.c: New.
Ping?
(Re-sending as plain text. Sorry if you got duplicate.)
--
Paul Pluzhnikov