JNIEXPORT void JNICALL uwsgi_jvm_api_alarm(JNIEnv *env, jclass c, jstring alarm, jstring msg) { char *c_alarm = uwsgi_jvm_str2c(alarm); size_t c_msg_len = uwsgi_jvm_strlen(msg); char *c_msg = uwsgi_jvm_str2c(msg); uwsgi_alarm_trigger(c_alarm, c_msg, c_msg_len); uwsgi_jvm_release_chars(msg, c_msg); uwsgi_jvm_release_chars(alarm, c_alarm); }
static int uwsgi_hook_alarm(char *arg) { char *space = strchr(arg,' '); if (!space) { uwsgi_log("invalid alarm hook syntax, must be: <alarm> <msg>\n"); return -1; } *space = 0; uwsgi_alarm_trigger(arg, space+1, strlen(space+1)); *space = ' '; return 0; }