root/maint/gnulib/tests/test-pthread.c

/* [previous][next][first][last][top][bottom][index][help] */

DEFINITIONS

This source file includes following definitions.
  1. main

   1 /* Test of <pthread.h> substitute.
   2    Copyright (C) 2019-2021 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>, 2019.  */
  18 
  19 #include <config.h>
  20 
  21 #include <pthread.h>
  22 
  23 #include "verify.h"
  24 
  25 /* Check that the types are all defined.  */
  26 
  27 pthread_t t1;
  28 pthread_attr_t t2;
  29 
  30 pthread_once_t t3 = PTHREAD_ONCE_INIT;
  31 
  32 pthread_mutex_t t4 = PTHREAD_MUTEX_INITIALIZER;
  33 pthread_mutexattr_t t5;
  34 
  35 pthread_rwlock_t t6 = PTHREAD_RWLOCK_INITIALIZER;
  36 pthread_rwlockattr_t t7;
  37 
  38 pthread_cond_t t8 = PTHREAD_COND_INITIALIZER;
  39 pthread_condattr_t t9;
  40 
  41 pthread_key_t t10;
  42 
  43 pthread_spinlock_t t11;
  44 
  45 #ifdef TODO /* Not implemented in gnulib yet */
  46 pthread_barrier_t t12;
  47 pthread_barrierattr_t t13;
  48 #endif
  49 
  50 /* Check that the various macros are defined.  */
  51 
  52 /* Constants for pthread_attr_setdetachstate().  */
  53 int ds[] = { PTHREAD_CREATE_JOINABLE, PTHREAD_CREATE_DETACHED };
  54 
  55 /* Constants for pthread_exit().  */
  56 void *canceled = PTHREAD_CANCELED;
  57 
  58 /* Constants for pthread_mutexattr_settype().  */
  59 int mt[] = {
  60   PTHREAD_MUTEX_DEFAULT,
  61   PTHREAD_MUTEX_NORMAL,
  62   PTHREAD_MUTEX_RECURSIVE,
  63   PTHREAD_MUTEX_ERRORCHECK
  64 };
  65 
  66 #ifdef TODO /* Not implemented in gnulib yet */
  67 
  68 /* Constants for pthread_mutexattr_setrobust().  */
  69 int mr[] = { PTHREAD_MUTEX_ROBUST, PTHREAD_MUTEX_STALLED };
  70 
  71 /* Constants for pthread_barrierattr_setpshared().  */
  72 int bp[] = { PTHREAD_PROCESS_SHARED, PTHREAD_PROCESS_PRIVATE };
  73 
  74 /* Constants for pthread_barrier_wait().  */
  75 int bw[] = { PTHREAD_BARRIER_SERIAL_THREAD };
  76 
  77 /* Constants for pthread_setcancelstate().  */
  78 int cs[] = { PTHREAD_CANCEL_ENABLE, PTHREAD_CANCEL_DISABLE };
  79 
  80 /* Constants for pthread_setcanceltype().  */
  81 int ct[] = { PTHREAD_CANCEL_DEFERRED, PTHREAD_CANCEL_ASYNCHRONOUS };
  82 
  83 #endif
  84 
  85 
  86 int
  87 main (void)
     /* [previous][next][first][last][top][bottom][index][help] */
  88 {
  89   return 0;
  90 }

/* [previous][next][first][last][top][bottom][index][help] */