diff options
author | Paul Pluzhnikov <ppluzhnikov@google.com> | 2017-09-20 09:31:48 -0700 |
---|---|---|
committer | Paul Pluzhnikov <ppluzhnikov@google.com> | 2017-09-20 09:31:48 -0700 |
commit | 26e70aec7028feeb196744eb97cd2dff3670b7aa (patch) | |
tree | 0eb04d182ca05b4161b1cc0f6c59265da6ccb621 /stdlib/test-cxa_atexit-race.c | |
parent | 0525ce4850f2c22a235dcd3422bc92f40815f377 (diff) | |
download | glibc-26e70aec7028feeb196744eb97cd2dff3670b7aa.tar.gz glibc-26e70aec7028feeb196744eb97cd2dff3670b7aa.tar.xz glibc-26e70aec7028feeb196744eb97cd2dff3670b7aa.zip |
Fix BZ 14333
Diffstat (limited to 'stdlib/test-cxa_atexit-race.c')
-rw-r--r-- | stdlib/test-cxa_atexit-race.c | 35 |
1 files changed, 35 insertions, 0 deletions
diff --git a/stdlib/test-cxa_atexit-race.c b/stdlib/test-cxa_atexit-race.c new file mode 100644 index 0000000000..c695e717c0 --- /dev/null +++ b/stdlib/test-cxa_atexit-race.c @@ -0,0 +1,35 @@ +/* Bug 14333: a test for __cxa_atexit/exit race. + Copyright (C) 2017 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C Library is free software; you can redistribute it and/or + modify it under the terms of the GNU Lesser General Public + License as published by the Free Software Foundation; either + version 2.1 of the License, or (at your option) any later version. + + The GNU C Library is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + Lesser General Public License for more details. + + You should have received a copy of the GNU Lesser General Public + License along with the GNU C Library; if not, see + <http://www.gnu.org/licenses/>. */ + +/* This file must be run from within a directory called "stdlib". */ + +/* See stdlib/test-atexit-race-common.c for details on this test. */ + +#include <stdio.h> + +#define CALL_ATEXIT __cxa_atexit (&no_op, NULL, NULL) +#define CALL_EXIT exit (0) + +int __cxa_atexit (void (*func) (void *), void *arg, void *d); + +static void +no_op (void *ignored) +{ +} + +#include <stdlib/test-atexit-race-common.c> |