< prev index next >
src/java.base/solaris/native/libjsig/jsig.c
Print this page
@@ -35,10 +35,11 @@
#include <string.h>
#include <signal.h>
#include <dlfcn.h>
#include <thread.h>
#include <synch.h>
+#include "jni.h"
#include "jvm_md.h"
#define bool int
#define true 1
#define false 0
@@ -174,15 +175,17 @@
signal_unlock();
return oldhandler;
}
}
-sa_handler_t signal(int sig, sa_handler_t disp) {
+JNIEXPORT sa_handler_t JNICALL
+signal(int sig, sa_handler_t disp) {
return set_signal(sig, disp, false);
}
-sa_handler_t sigset(int sig, sa_handler_t disp) {
+JNIEXPORT sa_handler_t JNICALL
+sigset(int sig, sa_handler_t disp) {
return set_signal(sig, disp, true);
}
static int call_os_sigaction(int sig, const struct sigaction *act,
struct sigaction *oact) {
@@ -194,11 +197,12 @@
}
}
return (*os_sigaction)(sig, act, oact);
}
-int sigaction(int sig, const struct sigaction *act, struct sigaction *oact) {
+JNIEXPORT int JNICALL
+sigaction(int sig, const struct sigaction *act, struct sigaction *oact) {
int res;
struct sigaction oldAct;
signal_lock();
@@ -240,34 +244,38 @@
return res;
}
}
/* The four functions for the jvm to call into */
-void JVM_begin_signal_setting() {
+JNIEXPORT void JNICALL
+JVM_begin_signal_setting() {
signal_lock();
jvm_signal_installing = true;
tid = thr_self();
signal_unlock();
}
-void JVM_end_signal_setting() {
+JNIEXPORT void JNICALL
+JVM_end_signal_setting() {
signal_lock();
jvm_signal_installed = true;
jvm_signal_installing = false;
cond_broadcast(&cond);
signal_unlock();
}
-struct sigaction *JVM_get_signal_action(int sig) {
+JNIEXPORT struct sigaction * JNICALL
+JVM_get_signal_action(int sig) {
if (sact == NULL) {
allocate_sact();
}
/* Does race condition make sense here? */
if (sigismember(&jvmsigs, sig)) {
return &sact[sig];
}
return NULL;
}
-int JVM_get_libjsig_version() {
+JNIEXPORT int JNICALL
+JVM_get_libjsig_version() {
return JSIG_VERSION_1_4_1;
}
< prev index next >