97 NSK_DISPLAY0("Agent_OnLoad\n");
98
99 if (!NSK_VERIFY(nsk_jvmti_parseOptions(options)))
100 return JNI_ERR;
101
102 timeout = nsk_jvmti_getWaitTime() * 60 * 1000;
103
104 if (!NSK_VERIFY((jvmti =
105 nsk_jvmti_createJVMTIEnv(jvm, reserved)) != NULL))
106 return JNI_ERR;
107
108 if (!NSK_VERIFY(nsk_jvmti_setAgentProc(agentProc, NULL)))
109 return JNI_ERR;
110
111 memset(&callbacks, 0, sizeof(callbacks));
112 callbacks.VMInit = &VMInit;
113 callbacks.VMDeath = &VMDeath;
114 if (!NSK_VERIFY(nsk_jvmti_init_MA(&callbacks)))
115 return JNI_ERR;
116
117 if (!NSK_JVMTI_VERIFY(NSK_CPP_STUB4(SetEventNotificationMode,
118 jvmti, JVMTI_ENABLE, JVMTI_EVENT_VM_INIT, NULL)))
119 return JNI_ERR;
120
121 if (!NSK_JVMTI_VERIFY(NSK_CPP_STUB4(SetEventNotificationMode,
122 jvmti, JVMTI_ENABLE, JVMTI_EVENT_VM_DEATH, NULL)))
123 return JNI_ERR;
124
125 return JNI_OK;
126 }
127
128 /* ========================================================================== */
129
130 /* agent library shutdown */
131 JNIEXPORT void JNICALL
132 #ifdef STATIC_BUILD
133 Agent_OnUnload_ma02t001a(JavaVM *jvm)
134 #else
135 Agent_OnUnload(JavaVM *jvm)
136 #endif
137 {
138 const char* KEY_PHRASE = "Agent_OnUnload() of the 2nd agent";
139
140 fprintf(stdout, "%s\n", KEY_PHRASE);
141 fflush(stdout);
142
|
97 NSK_DISPLAY0("Agent_OnLoad\n");
98
99 if (!NSK_VERIFY(nsk_jvmti_parseOptions(options)))
100 return JNI_ERR;
101
102 timeout = nsk_jvmti_getWaitTime() * 60 * 1000;
103
104 if (!NSK_VERIFY((jvmti =
105 nsk_jvmti_createJVMTIEnv(jvm, reserved)) != NULL))
106 return JNI_ERR;
107
108 if (!NSK_VERIFY(nsk_jvmti_setAgentProc(agentProc, NULL)))
109 return JNI_ERR;
110
111 memset(&callbacks, 0, sizeof(callbacks));
112 callbacks.VMInit = &VMInit;
113 callbacks.VMDeath = &VMDeath;
114 if (!NSK_VERIFY(nsk_jvmti_init_MA(&callbacks)))
115 return JNI_ERR;
116
117 if (!NSK_JVMTI_VERIFY(jvmti->SetEventNotificationMode(JVMTI_ENABLE, JVMTI_EVENT_VM_INIT, NULL)))
118 return JNI_ERR;
119
120 if (!NSK_JVMTI_VERIFY(jvmti->SetEventNotificationMode(JVMTI_ENABLE, JVMTI_EVENT_VM_DEATH, NULL)))
121 return JNI_ERR;
122
123 return JNI_OK;
124 }
125
126 /* ========================================================================== */
127
128 /* agent library shutdown */
129 JNIEXPORT void JNICALL
130 #ifdef STATIC_BUILD
131 Agent_OnUnload_ma02t001a(JavaVM *jvm)
132 #else
133 Agent_OnUnload(JavaVM *jvm)
134 #endif
135 {
136 const char* KEY_PHRASE = "Agent_OnUnload() of the 2nd agent";
137
138 fprintf(stdout, "%s\n", KEY_PHRASE);
139 fflush(stdout);
140
|