OSDN Git Service

* README: Refer to our generic bug reporting page.
[pf3gnuchains/gcc-fork.git] / libjava / no-threads.cc
index d6e0298..4153dcd 100644 (file)
@@ -1,6 +1,6 @@
 // no-thread.cc - Implementation of `no threads' threads.
 
-/* Copyright (C) 1998, 1999  Cygnus Solutions
+/* Copyright (C) 1998, 1999, 2001  Free Software Foundation
 
    This file is part of libgcj.
 
@@ -10,17 +10,24 @@ details.  */
 
 #include <config.h>
 
-#include <cni.h>
+#include <gcj/cni.h>
 #include <jvm.h>
 #include <java/lang/Thread.h>
+#include <java/lang/InternalError.h>
 
 java::lang::Thread *_Jv_OnlyThread = NULL;
 
+_Jv_Thread_t *
+_Jv_ThreadInitData (java::lang::Thread *thread)
+{
+  // It is ok to create a new Thread object, as long as it isn't started.
+  if (_Jv_OnlyThread == NULL)
+    _Jv_OnlyThread = thread;
+  return NULL;
+}
+
 void
-_Jv_ThreadStart (java::lang::Thread *thread, _Jv_Thread_t *,
-                _Jv_ThreadStartFunc *meth)
+_Jv_ThreadStart (java::lang::Thread *, _Jv_Thread_t *, _Jv_ThreadStartFunc *)
 {
-  JvAssert (! _Jv_OnlyThread);
-  _Jv_OnlyThread = thread;
-  (*meth) (thread);
+  throw new java::lang::InternalError (JvNewStringLatin1 ("Thread.start called but threads not available"));
 }