diff options
| author | Jing Yu <jingyu@google.com> | 2011-12-19 16:56:54 -0800 |
|---|---|---|
| committer | Jing Yu <jingyu@google.com> | 2011-12-19 16:56:54 -0800 |
| commit | 40d7cd0fd78fe2004e2a53c4618c148339b02733 (patch) | |
| tree | 5874557a6c86a1f564a03e5f28b266e31bc3759c /gcc-4.6/libjava/include/no-threads.h | |
| parent | fe2afdf3f3701489c05d2a7509752d6f0c7616f7 (diff) | |
| download | toolchain_gcc-40d7cd0fd78fe2004e2a53c4618c148339b02733.tar.gz toolchain_gcc-40d7cd0fd78fe2004e2a53c4618c148339b02733.tar.bz2 toolchain_gcc-40d7cd0fd78fe2004e2a53c4618c148339b02733.zip | |
Add gcc-4.6. Synced to @180989
Change-Id: Ie3676586e1d8e3c8cd9f07d022f450d05fa08439
svn://gcc.gnu.org/svn/gcc/branches/google/gcc-4_6-mobile
Diffstat (limited to 'gcc-4.6/libjava/include/no-threads.h')
| -rw-r--r-- | gcc-4.6/libjava/include/no-threads.h | 162 |
1 files changed, 162 insertions, 0 deletions
diff --git a/gcc-4.6/libjava/include/no-threads.h b/gcc-4.6/libjava/include/no-threads.h new file mode 100644 index 000000000..a598df3e8 --- /dev/null +++ b/gcc-4.6/libjava/include/no-threads.h @@ -0,0 +1,162 @@ +// -*- 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__ */ |
