* src/vm/signal.c (signal_thread): Restart sigwait if it has been
[cacao.git] / src / vmcore / linker.c
index 02d56b601ef347925547aaae263950ce92f31a18..49cf74a678c4a805d048e62745ffbb678050960e 100644 (file)
 
 #include "vm/access.h"
 #include "vm/array.h"
-#include "vm/exceptions.h"
-#include "vm/primitive.h"
-#include "vm/stringlocal.h"
-#include "vm/vm.h"
+#include "vm/exceptions.hpp"
+#include "vm/primitive.hpp"
+#include "vm/string.hpp"
+#include "vm/vm.hpp"
 
 #include "vm/jit_interface.h"
 
 #include "vmcore/class.h"
 #include "vmcore/classcache.h"
+#include "vmcore/globals.hpp"
 #include "vmcore/loader.h"
 #include "vmcore/options.h"
 #include "vmcore/rt-timing.h"
@@ -326,6 +327,9 @@ void linker_init(void)
                vm_abort("linker_init: linking failed");
 
 # if defined(WITH_JAVA_RUNTIME_LIBRARY_OPENJDK)
+       if (!link_class(class_sun_misc_Signal))
+               vm_abort("linker_init: linking failed");
+
        if (!link_class(class_sun_reflect_MagicAccessorImpl))
                vm_abort("linker_init: linking failed");
 # endif
@@ -1185,10 +1189,6 @@ static void linker_compute_subclasses(classinfo *c)
 {
        LOCK_MONITOR_ENTER(linker_classrenumber_lock);
 
-#if 0 && defined(ENABLE_THREADS) && !defined(DISABLE_GC)
-       threads_stopworld();
-#endif
-
        if (!(c->flags & ACC_INTERFACE)) {
                c->nextsub = NULL;
                c->sub     = NULL;
@@ -1206,10 +1206,6 @@ static void linker_compute_subclasses(classinfo *c)
        linker_compute_class_values(class_java_lang_Object);
 
        LOCK_MONITOR_EXIT(linker_classrenumber_lock);
-
-#if 0 && defined(ENABLE_THREADS) && !defined(DISABLE_GC)
-       threads_startworld();
-#endif
 }