[vmkit-commits] [vmkit] r143830 - /vmkit/trunk/lib/J3/ClassLib/OpenJDK/OpenJDK.inc

Will Dietz wdietz2 at illinois.edu
Sat Nov 5 14:09:51 PDT 2011


Author: wdietz2
Date: Sat Nov  5 16:09:50 2011
New Revision: 143830

URL: http://llvm.org/viewvc/llvm-project?rev=143830&view=rev
Log:
Add (minimal) signal support regarding JVM_FindSignal, JVM_RegisterSignal

Modified:
    vmkit/trunk/lib/J3/ClassLib/OpenJDK/OpenJDK.inc

Modified: vmkit/trunk/lib/J3/ClassLib/OpenJDK/OpenJDK.inc
URL: http://llvm.org/viewvc/llvm-project/vmkit/trunk/lib/J3/ClassLib/OpenJDK/OpenJDK.inc?rev=143830&r1=143829&r2=143830&view=diff
==============================================================================
--- vmkit/trunk/lib/J3/ClassLib/OpenJDK/OpenJDK.inc (original)
+++ vmkit/trunk/lib/J3/ClassLib/OpenJDK/OpenJDK.inc Sat Nov  5 16:09:50 2011
@@ -1610,7 +1610,8 @@
 
 JNIEXPORT void * JNICALL
 JVM_RegisterSignal(jint sig, void *handler) {
-  NYI();
+  // Don't let signals be registered, yet.
+  return (void*)-1;
 }
 
 JNIEXPORT jboolean JNICALL
@@ -1620,7 +1621,31 @@
 
 JNIEXPORT jint JNICALL
 JVM_FindSignal(const char *name) {
-  NYI();
+  // Map Signal name to integer...
+  static struct {
+    const char * name;
+    int num;
+  } SignalMap[] =
+  {
+    { "TERM", SIGTERM },
+    { "HUP", SIGHUP },
+    { "INT", SIGINT }
+  };
+  static uint32 signal_count = sizeof(SignalMap)/sizeof(SignalMap[0]);
+
+  BEGIN_JNI_EXCEPTION
+
+  for(uint32 i = 0; i < signal_count; ++i) {
+    if (!strcmp(name, SignalMap[i].name))
+      RETURN_FROM_JNI(SignalMap[i].num);
+  }
+
+  fprintf(stderr, "Unknown Signal \"%s\", missing entry in table?\n", name);
+  UNIMPLEMENTED();
+
+  END_JNI_EXCEPTION
+
+  return 0;
 }
 
 /*





More information about the vmkit-commits mailing list