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)24do_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