gthr-posix.c revision 132718
155714Skris/* POSIX threads dummy routines for systems without weak definitions. */ 255714Skris/* Compile this one with gcc. */ 355714Skris/* Copyright (C) 2003 Free Software Foundation, Inc. 455714Skris 555714SkrisThis file is part of GCC. 655714Skris 755714SkrisGCC is free software; you can redistribute it and/or modify it under 855714Skristhe terms of the GNU General Public License as published by the Free 955714SkrisSoftware Foundation; either version 2, or (at your option) any later 1055714Skrisversion. 1176866Skris 1255714SkrisGCC is distributed in the hope that it will be useful, but WITHOUT ANY 1355714SkrisWARRANTY; without even the implied warranty of MERCHANTABILITY or 1455714SkrisFITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License 1555714Skrisfor more details. 1655714Skris 1755714SkrisYou should have received a copy of the GNU General Public License 1855714Skrisalong with GCC; see the file COPYING. If not, write to the Free 1955714SkrisSoftware Foundation, 59 Temple Place - Suite 330, Boston, MA 2055714Skris02111-1307, USA. */ 2155714Skris 2255714Skris/* As a special exception, if you link this library with other files, 2355714Skris some of which are compiled with GCC, to produce an executable, 2455714Skris this library does not by itself cause the resulting executable 2555714Skris to be covered by the GNU General Public License. 2655714Skris This exception does not however invalidate any other reasons why 2755714Skris the executable file might be covered by the GNU General Public License. */ 2855714Skris 2955714Skris#include "tconfig.h" 3055714Skris#include "tm.h" 3155714Skris/* Define so we provide weak definitions of functions used by libobjc only. */ 3255714Skris#define _LIBOBJC_WEAK 3355714Skris#include "gthr.h" 3455714Skris 3555714Skrisint 3655714Skrispthread_once (pthread_once_t *once ATTRIBUTE_UNUSED, 3755714Skris void (*func) (void) ATTRIBUTE_UNUSED) 3855714Skris{ 3955714Skris return -1; 4055714Skris} 4155714Skris 4255714Skrisint 4355714Skrispthread_key_create (pthread_key_t *key ATTRIBUTE_UNUSED, 4455714Skris void (*dtor) (void *) ATTRIBUTE_UNUSED) 4555714Skris{ 4655714Skris return -1; 4755714Skris} 4855714Skris 4955714Skrisint 5055714Skrispthread_key_delete (pthread_key_t key ATTRIBUTE_UNUSED) 5155714Skris{ 5255714Skris return 0; 5355714Skris} 5455714Skris 5555714Skrisvoid * 5655714Skrispthread_getspecific (pthread_key_t key ATTRIBUTE_UNUSED) 5755714Skris{ 5855714Skris return 0; 5955714Skris} 6055714Skris 6155714Skrisint 6255714Skrispthread_setspecific (pthread_key_t key ATTRIBUTE_UNUSED, 6355714Skris const void *ptr ATTRIBUTE_UNUSED) 6455714Skris{ 6555714Skris return 0; 6655714Skris} 6755714Skris 6855714Skrisint 6955714Skrispthread_create (pthread_t *thread ATTRIBUTE_UNUSED, 7055714Skris const pthread_attr_t *attr ATTRIBUTE_UNUSED, 7155714Skris void *(*start_routine) (void *) ATTRIBUTE_UNUSED, 7255714Skris void *arg ATTRIBUTE_UNUSED) 7355714Skris{ 7455714Skris return 0; 7555714Skris} 7655714Skris 7755714Skrisint 7855714Skrispthread_mutex_lock (pthread_mutex_t *mutex ATTRIBUTE_UNUSED) 7955714Skris{ 8055714Skris return 0; 8155714Skris} 8255714Skris 8355714Skrisint 8455714Skrispthread_mutex_trylock (pthread_mutex_t *mutex ATTRIBUTE_UNUSED) 8555714Skris{ 8655714Skris return 0; 8755714Skris} 8855714Skris 8955714Skrisint 9055714Skrispthread_mutex_unlock (pthread_mutex_t *mutex ATTRIBUTE_UNUSED) 9155714Skris{ 9255714Skris return 0; 9355714Skris} 9455714Skris 9555714Skrisint 9655714Skrispthread_cond_broadcast (pthread_cond_t *cond ATTRIBUTE_UNUSED) 9755714Skris{ 9855714Skris return 0; 9955714Skris} 10055714Skris 10155714Skrisint 10255714Skrispthread_cond_destroy (pthread_cond_t *cond ATTRIBUTE_UNUSED) 10355714Skris{ 10455714Skris return 0; 10555714Skris} 10655714Skris 10755714Skrisint 10855714Skrispthread_cond_init (pthread_cond_t *cond ATTRIBUTE_UNUSED, 10955714Skris const pthread_condattr_t *attr ATTRIBUTE_UNUSED) 11055714Skris{ 11155714Skris return 0; 11255714Skris} 11355714Skris 11455714Skrisint 11555714Skrispthread_cond_signal (pthread_cond_t *cond ATTRIBUTE_UNUSED) 11655714Skris{ 11755714Skris return 0; 11855714Skris} 11955714Skris 12055714Skrisint 12155714Skrispthread_cond_wait (pthread_cond_t *cond ATTRIBUTE_UNUSED, 12255714Skris pthread_mutex_t *mutex ATTRIBUTE_UNUSED) 12355714Skris{ 12455714Skris return 0; 12555714Skris} 12655714Skris 12755714Skrisvoid 12855714Skrispthread_exit (void *value_ptr ATTRIBUTE_UNUSED) 12955714Skris{ 13055714Skris} 13155714Skris 132int 133pthread_mutex_init (pthread_mutex_t *mutex ATTRIBUTE_UNUSED, 134 const pthread_mutexattr_t *attr ATTRIBUTE_UNUSED) 135{ 136 return 0; 137} 138 139int 140pthread_mutex_destroy (pthread_mutex_t *mutex ATTRIBUTE_UNUSED) 141{ 142 return 0; 143} 144 145pthread_t 146pthread_self (void) 147{ 148 return (pthread_t) 0; 149} 150 151#ifdef _POSIX_THREAD_PRIORITY_SCHEDULING 152int 153sched_get_priority_max (int policy ATTRIBUTE_UNUSED) 154{ 155 return 0; 156} 157 158int 159sched_get_priority_min (int policy ATTRIBUTE_UNUSED) 160{ 161 return 0; 162} 163#endif /* _POSIX_THREAD_PRIORITY_SCHEDULING */ 164 165int 166sched_yield (void) 167{ 168 return 0; 169} 170 171int 172pthread_attr_destroy (pthread_attr_t *attr ATTRIBUTE_UNUSED) 173{ 174 return 0; 175} 176 177int 178pthread_attr_init (pthread_attr_t *attr ATTRIBUTE_UNUSED) 179{ 180 return 0; 181} 182 183int 184pthread_attr_setdetachstate (pthread_attr_t *attr ATTRIBUTE_UNUSED, 185 int detachstate ATTRIBUTE_UNUSED) 186{ 187 return 0; 188} 189 190#ifdef _POSIX_THREAD_PRIORITY_SCHEDULING 191int 192pthread_getschedparam (pthread_t thread ATTRIBUTE_UNUSED, 193 int *policy ATTRIBUTE_UNUSED, 194 struct sched_param *param ATTRIBUTE_UNUSED) 195{ 196 return 0; 197} 198 199int 200pthread_setschedparam (pthread_t thread ATTRIBUTE_UNUSED, 201 int policy ATTRIBUTE_UNUSED, 202 const struct sched_param *param ATTRIBUTE_UNUSED) 203{ 204 return 0; 205} 206#endif /* _POSIX_THREAD_PRIORITY_SCHEDULING */ 207 208