(root)/
grep-3.11/
gnulib-tests/
test-thread_self.c
       1  /* Test of gl_thread_self () macro.
       2     Copyright (C) 2011-2023 Free Software Foundation, Inc.
       3  
       4     This program is free software: you can redistribute it and/or modify
       5     it under the terms of the GNU General Public License as published by
       6     the Free Software Foundation, either version 3 of the License, or
       7     (at your option) any later version.
       8  
       9     This program 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
      12     GNU General Public License for more details.
      13  
      14     You should have received a copy of the GNU General Public License
      15     along with this program.  If not, see <https://www.gnu.org/licenses/>.  */
      16  
      17  /* Written by Bruno Haible <bruno@clisp.org>, 2011.  */
      18  
      19  #include <config.h>
      20  
      21  #include "glthread/thread.h"
      22  
      23  gl_thread_t main_thread;
      24  
      25  int
      26  main ()
      27  {
      28    /* Check that gl_thread_self () can be used with just $(LIBTHREAD), not
      29       $(LIBMULTITHREAD), i.e. in libraries that are multithread-safe but don't
      30       create threads themselves.  */
      31    /* This is not the case on AIX with --enable-threads=isoc+posix, because in
      32       this case, $(LIBTHREAD) is empty whereas $(LIBMULTITHREAD) is '-lpthread'.
      33     */
      34  #if !defined _AIX
      35    main_thread = gl_thread_self ();
      36  #endif
      37  
      38    return 0;
      39  }