1 |
|
/* |
2 |
|
* timer_beos.cpp - Time Manager emulation, BeOS specific stuff |
3 |
|
* |
4 |
< |
* Basilisk II (C) 1997-2005 Christian Bauer |
4 |
> |
* Basilisk II (C) 1997-2008 Christian Bauer |
5 |
|
* |
6 |
|
* This program is free software; you can redistribute it and/or modify |
7 |
|
* it under the terms of the GNU General Public License as published by |
28 |
|
#include "debug.h" |
29 |
|
|
30 |
|
|
31 |
+ |
// From main_beos.cpp |
32 |
+ |
extern thread_id emul_thread; |
33 |
+ |
|
34 |
+ |
|
35 |
|
/* |
36 |
|
* Return microseconds since boot (64 bit) |
37 |
|
*/ |
134 |
|
{ |
135 |
|
snooze(usec); |
136 |
|
} |
137 |
+ |
|
138 |
+ |
|
139 |
+ |
/* |
140 |
+ |
* Suspend emulator thread, virtual CPU in idle mode |
141 |
+ |
*/ |
142 |
+ |
|
143 |
+ |
void idle_wait(void) |
144 |
+ |
{ |
145 |
+ |
#if 0 |
146 |
+ |
/* |
147 |
+ |
FIXME: add a semaphore (counter) to avoid a B_BAD_THREAD_STATE |
148 |
+ |
return if we call idle_resume() when thread is not suspended? |
149 |
+ |
|
150 |
+ |
Sorry, I can't test -- gb. |
151 |
+ |
*/ |
152 |
+ |
suspend_thread(emul_thread); |
153 |
+ |
#endif |
154 |
+ |
} |
155 |
+ |
|
156 |
+ |
|
157 |
+ |
/* |
158 |
+ |
* Resume execution of emulator thread, events just arrived |
159 |
+ |
*/ |
160 |
+ |
|
161 |
+ |
void idle_resume(void) |
162 |
+ |
{ |
163 |
+ |
#if 0 |
164 |
+ |
resume_thread(emul_thread); |
165 |
+ |
#endif |
166 |
+ |
} |