1 /* Tests for non-unloading of libpthread.
2    Copyright (C) 2000-2022 Free Software Foundation, Inc.
3 
4    The GNU C Library is free software; you can redistribute it and/or
5    modify it under the terms of the GNU Lesser General Public License as
6    published by the Free Software Foundation; either version 2.1 of the
7    License, or (at your option) any later version.
8 
9    The GNU C Library is distributed in the hope that it will be useful,
10    but WITHOUT ANY WARRANTY; without even the implied warranty of
11    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
12    Lesser General Public License for more details.
13 
14    You should have received a copy of the GNU Lesser General Public
15    License along with the GNU C Library; see the file COPYING.LIB.  If
16    not, see <https://www.gnu.org/licenses/>.  */
17 
18 #include <dlfcn.h>
19 #include <stdio.h>
20 #include <stdlib.h>
21 #include <gnu/lib-names.h>
22 
23 static int
do_test(void)24 do_test (void)
25 {
26   void *p = dlopen (LIBPTHREAD_SO, RTLD_LAZY);
27 
28   if (p == NULL)
29     {
30       puts ("failed to load " LIBPTHREAD_SO);
31       return 1;
32     }
33 
34   if (dlclose (p) != 0)
35     {
36       puts ("dlclose (" LIBPTHREAD_SO ") failed");
37       return 1;
38     }
39 
40   puts ("seems to work");
41 
42   return 0;
43 }
44 
45 #define TEST_FUNCTION do_test ()
46 #include "../test-skeleton.c"
47