106 }
107 }
108
109 #ifdef STATIC_BUILD
110 JNIEXPORT jint JNI_OnLoad_attach042Agent00(JavaVM *jvm, char *options, void *reserved) {
111 return JNI_VERSION_1_8;
112 }
113 #endif
114
115 JNIEXPORT jint JNICALL
116 #ifdef STATIC_BUILD
117 Agent_OnAttach_attach042Agent00(JavaVM *vm, char *optionsString, void *reserved)
118 #else
119 Agent_OnAttach(JavaVM *vm, char *optionsString, void *reserved)
120 #endif
121 {
122 jvmtiEventCallbacks eventCallbacks;
123 jvmtiEnv* jvmti;
124 JNIEnv* jni;
125
126 if (!NSK_VERIFY((options = (Options*) nsk_aod_createOptions(optionsString)) != NULL))
127 return JNI_ERR;
128
129 agentName = nsk_aod_getOptionValue(options, NSK_AOD_AGENT_NAME_OPTION);
130
131 if ((jni = (JNIEnv*) nsk_aod_createJNIEnv(vm)) == NULL)
132 return JNI_ERR;
133
134 if (!NSK_VERIFY((jvmti = nsk_jvmti_createJVMTIEnv(vm, reserved)) != NULL))
135 return JNI_ERR;
136
137 memset(&eventCallbacks,0, sizeof(eventCallbacks));
138 eventCallbacks.ThreadStart = threadStartHandler;
139 if (!NSK_JVMTI_VERIFY(jvmti->SetEventCallbacks(&eventCallbacks, sizeof(eventCallbacks)))) {
140 return JNI_ERR;
141 }
142
143 if (!(nsk_jvmti_aod_enableEvent(jvmti, JVMTI_EVENT_THREAD_START))) {
144 return JNI_ERR;
145 }
146
147 NSK_DISPLAY1("%s: initialization was done\n", agentName);
148
149 if (!NSK_VERIFY(nsk_aod_agentLoaded(jni, agentName)))
150 return JNI_ERR;
151
152 return JNI_OK;
153 }
154
|
106 }
107 }
108
109 #ifdef STATIC_BUILD
110 JNIEXPORT jint JNI_OnLoad_attach042Agent00(JavaVM *jvm, char *options, void *reserved) {
111 return JNI_VERSION_1_8;
112 }
113 #endif
114
115 JNIEXPORT jint JNICALL
116 #ifdef STATIC_BUILD
117 Agent_OnAttach_attach042Agent00(JavaVM *vm, char *optionsString, void *reserved)
118 #else
119 Agent_OnAttach(JavaVM *vm, char *optionsString, void *reserved)
120 #endif
121 {
122 jvmtiEventCallbacks eventCallbacks;
123 jvmtiEnv* jvmti;
124 JNIEnv* jni;
125
126 options = (Options*) nsk_aod_createOptions(optionsString);
127 if (!NSK_VERIFY(options != NULL))
128 return JNI_ERR;
129
130 agentName = nsk_aod_getOptionValue(options, NSK_AOD_AGENT_NAME_OPTION);
131
132 jni = (JNIEnv*) nsk_aod_createJNIEnv(vm);
133 if (jni == NULL)
134 return JNI_ERR;
135
136 jvmti = nsk_jvmti_createJVMTIEnv(vm, reserved);
137 if (!NSK_VERIFY(jvmti != NULL))
138 return JNI_ERR;
139
140 memset(&eventCallbacks,0, sizeof(eventCallbacks));
141 eventCallbacks.ThreadStart = threadStartHandler;
142 if (!NSK_JVMTI_VERIFY(jvmti->SetEventCallbacks(&eventCallbacks, sizeof(eventCallbacks)))) {
143 return JNI_ERR;
144 }
145
146 if (!(nsk_jvmti_aod_enableEvent(jvmti, JVMTI_EVENT_THREAD_START))) {
147 return JNI_ERR;
148 }
149
150 NSK_DISPLAY1("%s: initialization was done\n", agentName);
151
152 if (!NSK_VERIFY(nsk_aod_agentLoaded(jni, agentName)))
153 return JNI_ERR;
154
155 return JNI_OK;
156 }
157
|