]> gcc.gnu.org Git - gcc.git/blame - libjava/include/no-threads.h
All files: Updated copyright information.
[gcc.git] / libjava / include / no-threads.h
CommitLineData
ee9dd372
TT
1// -*- c++ -*-
2// no-threads.h - Defines for using no threads.
3
2ba5f774 4/* Copyright (C) 1998, 1999 Free Software Foundation
ee9dd372
TT
5
6 This file is part of libgcj.
7
8This software is copyrighted work licensed under the terms of the
9Libgcj License. Please consult the file "LIBGCJ_LICENSE" for
10details. */
11
12#ifndef __JV_NO_THREADS__
13#define __JV_NO_THREADS__
14
15#include "config.h"
16
17#include <stdlib.h>
18#ifdef HAVE_UNISTD_H
19#include <unistd.h>
20#endif
21
22//
23// Typedefs.
24//
25
26typedef int _Jv_ConditionVariable_t;
27typedef int _Jv_Mutex_t;
28typedef int _Jv_Thread_t;
29typedef void _Jv_ThreadStartFunc (java::lang::Thread *);
30
31
32//
33// Condition variables.
34//
35
36inline void
37_Jv_CondInit (_Jv_ConditionVariable_t *)
38{
39}
40
41// Waiting is ok provided there is a timeout. Otherwise we will just
42// wait forever.
43inline int
44_Jv_CondWait (_Jv_ConditionVariable_t *, _Jv_Mutex_t *,
45 jlong millis, jint nanos)
46{
47 if (millis == 0 && nanos == 0)
48 JvFail ("_Jv_CondWait without timeout");
49
50#ifdef HAVE_SLEEP
51 int seconds = millis / 1000;
52 if (seconds > 0)
53 sleep (seconds);
54#endif
55
56 return 0;
57}
58
59inline int
60_Jv_CondNotify (_Jv_ConditionVariable_t *, _Jv_Mutex_t *)
61{
62 // It is ok to notify -- it just has no effect.
63 return 0;
64}
65
66inline int
67_Jv_CondNotifyAll (_Jv_ConditionVariable_t *, _Jv_Mutex_t *)
68{
69 // It is ok to notify -- it just has no effect.
70 return 0;
71}
72
73
74//
75// Mutexes.
76//
77
78inline void
79_Jv_MutexInit (_Jv_Mutex_t *)
80{
81}
82
83inline int
84_Jv_MutexLock (_Jv_Mutex_t *)
85{
86 return 0;
87}
88
89inline int
90_Jv_MutexUnlock (_Jv_Mutex_t *)
91{
92 return 0;
93}
94
95
96//
97// Thread creation and manipulation.
98//
99
100inline void
101_Jv_InitThreads (void)
102{
103}
104
105inline void
106_Jv_ThreadInitData (_Jv_Thread_t **data, java::lang::Thread *)
107{
108 *data = NULL;
109}
110
111inline java::lang::Thread *
112_Jv_ThreadCurrent (void)
113{
114 extern java::lang::Thread *_Jv_OnlyThread;
115 return _Jv_OnlyThread;
116}
117
118inline void
119_Jv_ThreadYield (void)
120{
121}
122
123inline void
124_Jv_ThreadSetPriority (_Jv_Thread_t *, jint)
125{
126}
127
ee9dd372
TT
128void _Jv_ThreadStart (java::lang::Thread *, _Jv_Thread_t *,
129 _Jv_ThreadStartFunc *meth);
130
131inline void
132_Jv_ThreadWait (void)
133{
134}
135
136inline void
137_Jv_ThreadInterrupt (_Jv_Thread_t *)
138{
139}
140
141#endif /* __JV_NO_THREADS__ */
This page took 0.81652 seconds and 5 git commands to generate.