mirror of git://gcc.gnu.org/git/gcc.git
				
				
				
			
		
			
				
	
	
		
			163 lines
		
	
	
		
			2.3 KiB
		
	
	
	
		
			C++
		
	
	
	
			
		
		
	
	
			163 lines
		
	
	
		
			2.3 KiB
		
	
	
	
		
			C++
		
	
	
	
// -*- 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__ */
 |