diff options
Diffstat (limited to 'agent/src/main/java/com/code_intelligence/jazzer/runtime/SignalHandler.java')
-rw-r--r-- | agent/src/main/java/com/code_intelligence/jazzer/runtime/SignalHandler.java | 15 |
1 files changed, 10 insertions, 5 deletions
diff --git a/agent/src/main/java/com/code_intelligence/jazzer/runtime/SignalHandler.java b/agent/src/main/java/com/code_intelligence/jazzer/runtime/SignalHandler.java index 0a42aa94..49ee80c8 100644 --- a/agent/src/main/java/com/code_intelligence/jazzer/runtime/SignalHandler.java +++ b/agent/src/main/java/com/code_intelligence/jazzer/runtime/SignalHandler.java @@ -14,13 +14,18 @@ package com.code_intelligence.jazzer.runtime; +import com.github.fmeum.rules_jni.RulesJni; import sun.misc.Signal; -@SuppressWarnings({"unused", "sunapi"}) -final class SignalHandler { - public static native void handleInterrupt(); - - public static void setupSignalHandlers() { +public final class SignalHandler { + static { + RulesJni.loadLibrary("jazzer_signal_handler", SignalHandler.class); Signal.handle(new Signal("INT"), sig -> handleInterrupt()); } + + public static void initialize() { + // Implicitly runs the static initializer. + } + + private static native void handleInterrupt(); } |