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