gthr-posix.c revision 169689
1/* POSIX threads dummy routines for systems without weak definitions. */ 2/* Compile this one with gcc. */ 3/* Copyright (C) 2003, 2004, 2005 Free Software Foundation, Inc. 4 5This file is part of GCC. 6 7GCC is free software; you can redistribute it and/or modify it under 8the terms of the GNU General Public License as published by the Free 9Software Foundation; either version 2, or (at your option) any later 10version. 11 12GCC is distributed in the hope that it will be useful, but WITHOUT ANY 13WARRANTY; without even the implied warranty of MERCHANTABILITY or 14FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License 15for more details. 16 17You should have received a copy of the GNU General Public License 18along with GCC; see the file COPYING. If not, write to the Free 19Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 2002110-1301, USA. */ 21 22/* As a special exception, if you link this library with other files, 23 some of which are compiled with GCC, to produce an executable, 24 this library does not by itself cause the resulting executable 25 to be covered by the GNU General Public License. 26 This exception does not however invalidate any other reasons why 27 the executable file might be covered by the GNU General Public License. */ 28 29#include "tconfig.h" 30#include "tm.h" 31/* Define so we provide weak definitions of functions used by libobjc only. */ 32#define _LIBOBJC_WEAK 33#include "gthr.h" 34 35int 36pthread_once (pthread_once_t *once ATTRIBUTE_UNUSED, 37 void (*func) (void) ATTRIBUTE_UNUSED) 38{ 39 return -1; 40} 41 42int 43pthread_key_create (pthread_key_t *key ATTRIBUTE_UNUSED, 44 void (*dtor) (void *) ATTRIBUTE_UNUSED) 45{ 46 return -1; 47} 48 49int 50pthread_key_delete (pthread_key_t key ATTRIBUTE_UNUSED) 51{ 52 return 0; 53} 54 55void * 56pthread_getspecific (pthread_key_t key ATTRIBUTE_UNUSED) 57{ 58 return 0; 59} 60 61int 62pthread_setspecific (pthread_key_t key ATTRIBUTE_UNUSED, 63 const void *ptr ATTRIBUTE_UNUSED) 64{ 65 return 0; 66} 67 68int 69pthread_create (pthread_t *thread ATTRIBUTE_UNUSED, 70 const pthread_attr_t *attr ATTRIBUTE_UNUSED, 71 void *(*start_routine) (void *) ATTRIBUTE_UNUSED, 72 void *arg ATTRIBUTE_UNUSED) 73{ 74 return 0; 75} 76 77int 78pthread_cancel(pthread_t thread ATTRIBUTE_UNUSED) 79{ 80 return 0; 81} 82 83int 84pthread_mutex_lock (pthread_mutex_t *mutex ATTRIBUTE_UNUSED) 85{ 86 return 0; 87} 88 89int 90pthread_mutex_trylock (pthread_mutex_t *mutex ATTRIBUTE_UNUSED) 91{ 92 return 0; 93} 94 95int 96pthread_mutex_unlock (pthread_mutex_t *mutex ATTRIBUTE_UNUSED) 97{ 98 return 0; 99} 100 101int 102pthread_mutexattr_init (pthread_mutexattr_t *attr ATTRIBUTE_UNUSED) 103{ 104 return 0; 105} 106 107int 108pthread_mutexattr_settype (pthread_mutexattr_t *attr ATTRIBUTE_UNUSED, 109 int type ATTRIBUTE_UNUSED) 110{ 111 return 0; 112} 113 114int 115pthread_mutexattr_destroy (pthread_mutexattr_t *attr ATTRIBUTE_UNUSED) 116{ 117 return 0; 118} 119 120int 121pthread_cond_broadcast (pthread_cond_t *cond ATTRIBUTE_UNUSED) 122{ 123 return 0; 124} 125 126int 127pthread_cond_destroy (pthread_cond_t *cond ATTRIBUTE_UNUSED) 128{ 129 return 0; 130} 131 132int 133pthread_cond_init (pthread_cond_t *cond ATTRIBUTE_UNUSED, 134 const pthread_condattr_t *attr ATTRIBUTE_UNUSED) 135{ 136 return 0; 137} 138 139int 140pthread_cond_signal (pthread_cond_t *cond ATTRIBUTE_UNUSED) 141{ 142 return 0; 143} 144 145int 146pthread_cond_wait (pthread_cond_t *cond ATTRIBUTE_UNUSED, 147 pthread_mutex_t *mutex ATTRIBUTE_UNUSED) 148{ 149 return 0; 150} 151 152void 153pthread_exit (void *value_ptr ATTRIBUTE_UNUSED) 154{ 155} 156 157int 158pthread_mutex_init (pthread_mutex_t *mutex ATTRIBUTE_UNUSED, 159 const pthread_mutexattr_t *attr ATTRIBUTE_UNUSED) 160{ 161 return 0; 162} 163 164int 165pthread_mutex_destroy (pthread_mutex_t *mutex ATTRIBUTE_UNUSED) 166{ 167 return 0; 168} 169 170pthread_t 171pthread_self (void) 172{ 173 return (pthread_t) 0; 174} 175#ifdef _POSIX_PRIORITY_SCHEDULING 176#ifdef _POSIX_THREAD_PRIORITY_SCHEDULING 177int 178sched_get_priority_max (int policy ATTRIBUTE_UNUSED) 179{ 180 return 0; 181} 182 183int 184sched_get_priority_min (int policy ATTRIBUTE_UNUSED) 185{ 186 return 0; 187} 188#endif /* _POSIX_THREAD_PRIORITY_SCHEDULING */ 189#endif /* _POSIX_PRIORITY_SCHEDULING */ 190 191int 192sched_yield (void) 193{ 194 return 0; 195} 196 197int 198pthread_attr_destroy (pthread_attr_t *attr ATTRIBUTE_UNUSED) 199{ 200 return 0; 201} 202 203int 204pthread_attr_init (pthread_attr_t *attr ATTRIBUTE_UNUSED) 205{ 206 return 0; 207} 208 209int 210pthread_attr_setdetachstate (pthread_attr_t *attr ATTRIBUTE_UNUSED, 211 int detachstate ATTRIBUTE_UNUSED) 212{ 213 return 0; 214} 215 216#ifdef _POSIX_THREAD_PRIORITY_SCHEDULING 217int 218pthread_getschedparam (pthread_t thread ATTRIBUTE_UNUSED, 219 int *policy ATTRIBUTE_UNUSED, 220 struct sched_param *param ATTRIBUTE_UNUSED) 221{ 222 return 0; 223} 224 225int 226pthread_setschedparam (pthread_t thread ATTRIBUTE_UNUSED, 227 int policy ATTRIBUTE_UNUSED, 228 const struct sched_param *param ATTRIBUTE_UNUSED) 229{ 230 return 0; 231} 232#endif /* _POSIX_THREAD_PRIORITY_SCHEDULING */ 233 234