123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163 |
- // -*- c++ -*-
- // no-threads.h - Defines for using no threads.
- /* Copyright (C) 1998, 1999, 2004, 2006 Free Software Foundation
- This file is part of libgcj.
- This software is copyrighted work licensed under the terms of the
- Libgcj License. Please consult the file "LIBGCJ_LICENSE" for
- details. */
- #ifndef __JV_NO_THREADS__
- #define __JV_NO_THREADS__
- #include "config.h"
- #include <stdlib.h>
- #ifdef HAVE_UNISTD_H
- #include <unistd.h>
- #endif
- //
- // Typedefs.
- //
- typedef int _Jv_ConditionVariable_t;
- typedef int _Jv_Mutex_t;
- typedef void _Jv_ThreadStartFunc (java::lang::Thread *);
- //
- // Declarations
- //
- class _Jv_Thread_t { };
- //
- // Condition variables.
- //
- inline void
- _Jv_CondInit (_Jv_ConditionVariable_t *)
- {
- }
- // Waiting is ok provided there is a timeout. Otherwise we will just
- // wait forever.
- inline int
- _Jv_CondWait (_Jv_ConditionVariable_t *, _Jv_Mutex_t *,
- jlong millis, jint nanos)
- {
- if (millis == 0 && nanos == 0)
- JvFail ("_Jv_CondWait without timeout");
- #ifdef HAVE_SLEEP
- int seconds = millis / 1000;
- if (seconds > 0)
- sleep (seconds);
- #endif
- return 0;
- }
- inline int
- _Jv_CondNotify (_Jv_ConditionVariable_t *, _Jv_Mutex_t *)
- {
- // It is ok to notify -- it just has no effect.
- return 0;
- }
- inline int
- _Jv_CondNotifyAll (_Jv_ConditionVariable_t *, _Jv_Mutex_t *)
- {
- // It is ok to notify -- it just has no effect.
- return 0;
- }
- //
- // Mutexes.
- //
- inline int _Jv_MutexCheckMonitor (_Jv_Mutex_t *)
- {
- return 0;
- }
- inline void
- _Jv_MutexInit (_Jv_Mutex_t *)
- {
- }
- inline int
- _Jv_MutexLock (_Jv_Mutex_t *)
- {
- return 0;
- }
- inline int
- _Jv_MutexUnlock (_Jv_Mutex_t *)
- {
- return 0;
- }
- //
- // Thread creation and manipulation.
- //
- inline void
- _Jv_InitThreads (void)
- {
- }
- _Jv_Thread_t *
- _Jv_ThreadInitData (java::lang::Thread *);
- inline void
- _Jv_ThreadDestroyData (_Jv_Thread_t *)
- {
- }
- inline java::lang::Thread *
- _Jv_ThreadCurrent (void)
- {
- extern java::lang::Thread *_Jv_OnlyThread;
- return _Jv_OnlyThread;
- }
- inline void
- _Jv_ThreadYield (void)
- {
- }
- inline void
- _Jv_ThreadSetPriority (_Jv_Thread_t *, jint)
- {
- }
- inline void
- _Jv_ThreadRegister (_Jv_Thread_t *)
- {
- }
- inline void
- _Jv_ThreadUnRegister (void)
- {
- }
- void _Jv_ThreadStart (java::lang::Thread *, _Jv_Thread_t *,
- _Jv_ThreadStartFunc *meth);
- inline void
- _Jv_ThreadWait (void)
- {
- }
- inline void
- _Jv_ThreadInterrupt (_Jv_Thread_t *)
- {
- }
- #endif /* __JV_NO_THREADS__ */
|