87 Agent_OnAttach(JavaVM *vm, char *optionsString, void *reserved)
88 #endif
89 {
90 jvmtiEventCallbacks eventCallbacks;
91 jvmtiEnv* jvmti = NULL;
92 JNIEnv* jni = NULL;
93
94 if (!NSK_VERIFY((options = (Options*) nsk_aod_createOptions(optionsString)) != NULL))
95 return JNI_ERR;
96
97 agentName = nsk_aod_getOptionValue(options, NSK_AOD_AGENT_NAME_OPTION);
98
99 if ((jni = (JNIEnv*) nsk_aod_createJNIEnv(vm)) == NULL)
100 return NSK_FALSE;
101
102 if (!NSK_VERIFY((jvmti = nsk_jvmti_createJVMTIEnv(vm, reserved)) != NULL))
103 return JNI_ERR;
104
105 memset(&eventCallbacks,0, sizeof(eventCallbacks));
106 eventCallbacks.ClassLoad = classLoadHandler;
107 if (!NSK_JVMTI_VERIFY(jvmti->SetEventCallbacks(&eventCallbacks, sizeof(eventCallbacks))) ) {
108 return JNI_ERR;
109 }
110
111 if (!(nsk_jvmti_aod_enableEvent(jvmti, JVMTI_EVENT_CLASS_LOAD))) {
112 return JNI_ERR;
113 }
114
115 NSK_DISPLAY1("%s: initialization was done\n", agentName);
116
117 if (!NSK_VERIFY(nsk_aod_agentLoaded(jni, agentName)))
118 return JNI_ERR;
119
120 return JNI_OK;
121 }
122
123 }
|
87 Agent_OnAttach(JavaVM *vm, char *optionsString, void *reserved)
88 #endif
89 {
90 jvmtiEventCallbacks eventCallbacks;
91 jvmtiEnv* jvmti = NULL;
92 JNIEnv* jni = NULL;
93
94 if (!NSK_VERIFY((options = (Options*) nsk_aod_createOptions(optionsString)) != NULL))
95 return JNI_ERR;
96
97 agentName = nsk_aod_getOptionValue(options, NSK_AOD_AGENT_NAME_OPTION);
98
99 if ((jni = (JNIEnv*) nsk_aod_createJNIEnv(vm)) == NULL)
100 return NSK_FALSE;
101
102 if (!NSK_VERIFY((jvmti = nsk_jvmti_createJVMTIEnv(vm, reserved)) != NULL))
103 return JNI_ERR;
104
105 memset(&eventCallbacks,0, sizeof(eventCallbacks));
106 eventCallbacks.ClassLoad = classLoadHandler;
107 if (!NSK_JVMTI_VERIFY(jvmti->SetEventCallbacks(&eventCallbacks, sizeof(eventCallbacks)))) {
108 return JNI_ERR;
109 }
110
111 if (!(nsk_jvmti_aod_enableEvent(jvmti, JVMTI_EVENT_CLASS_LOAD))) {
112 return JNI_ERR;
113 }
114
115 NSK_DISPLAY1("%s: initialization was done\n", agentName);
116
117 if (!NSK_VERIFY(nsk_aod_agentLoaded(jni, agentName)))
118 return JNI_ERR;
119
120 return JNI_OK;
121 }
122
123 }
|