[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