test/hotspot/jtreg/vmTestbase/nsk/jvmti/scenarios/hotswap/HS302/hs302t008/hs302t008.cpp
branchdatagramsocketimpl-branch
changeset 58678 9cf78a70fa4f
parent 52284 1f402d1f630f
child 58679 9c3209ff7550
equal deleted inserted replaced
58677:13588c901957 58678:9cf78a70fa4f
     1 /*
     1 /*
     2  * Copyright (c) 2007, 2018, Oracle and/or its affiliates. All rights reserved.
     2  * Copyright (c) 2007, 2019, Oracle and/or its affiliates. All rights reserved.
     3  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
     3  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
     4  *
     4  *
     5  * This code is free software; you can redistribute it and/or modify it
     5  * This code is free software; you can redistribute it and/or modify it
     6  * under the terms of the GNU General Public License version 2 only, as
     6  * under the terms of the GNU General Public License version 2 only, as
     7  * published by the Free Software Foundation.
     7  * published by the Free Software Foundation.
    42   if (strcmp(className,CLASS_NAME) == 0) {
    42   if (strcmp(className,CLASS_NAME) == 0) {
    43     char fileName[512];
    43     char fileName[512];
    44     nsk_jvmti_disableNotification(jvmti_env, JVMTI_EVENT_CLASS_PREPARE, NULL);
    44     nsk_jvmti_disableNotification(jvmti_env, JVMTI_EVENT_CLASS_PREPARE, NULL);
    45     nsk_jvmti_getFileName(redefineNumber, FILE_NAME, fileName,
    45     nsk_jvmti_getFileName(redefineNumber, FILE_NAME, fileName,
    46                         sizeof(fileName)/sizeof(char));
    46                         sizeof(fileName)/sizeof(char));
    47     if (nsk_jvmti_redefineClass(jvmti_env, klass, fileName) == NSK_TRUE) {
    47     if (nsk_jvmti_redefineClass(jvmti_env, klass, fileName)) {
    48       nsk_printf("Redefine successful ..\n");
    48       nsk_printf("Redefine successful ..\n");
    49     } else {
    49     } else {
    50       nsk_printf("# error :: Redefine failed..\n");
    50       nsk_printf("# error :: Redefine failed..\n");
    51     }
    51     }
    52   }
    52   }
    72         nsk_printf("Agent:: Could not load JVMTI interface \n");
    72         nsk_printf("Agent:: Could not load JVMTI interface \n");
    73         return JNI_ERR;
    73         return JNI_ERR;
    74     } else {
    74     } else {
    75         jvmtiCapabilities caps;
    75         jvmtiCapabilities caps;
    76         jvmtiEventCallbacks eventCallbacks;
    76         jvmtiEventCallbacks eventCallbacks;
    77         if (nsk_jvmti_parseOptions(options) == NSK_FALSE) {
    77         if (!nsk_jvmti_parseOptions(options)) {
    78             nsk_printf("# error agent Failed to parse options \n");
    78             nsk_printf("# error agent Failed to parse options \n");
    79             return JNI_ERR;
    79             return JNI_ERR;
    80         }
    80         }
    81         memset(&caps, 0, sizeof(caps));
    81         memset(&caps, 0, sizeof(caps));
    82         caps.can_redefine_classes = 1;
    82         caps.can_redefine_classes = 1;
    87         rc=jvmti->SetEventCallbacks(&eventCallbacks, sizeof(eventCallbacks));
    87         rc=jvmti->SetEventCallbacks(&eventCallbacks, sizeof(eventCallbacks));
    88         if (rc != JVMTI_ERROR_NONE) {
    88         if (rc != JVMTI_ERROR_NONE) {
    89             nsk_printf(" Agent:: Error occured while setting event call back \n");
    89             nsk_printf(" Agent:: Error occured while setting event call back \n");
    90             return JNI_ERR;
    90             return JNI_ERR;
    91         }
    91         }
    92         if (nsk_jvmti_enableNotification(jvmti, JVMTI_EVENT_CLASS_PREPARE, NULL) == NSK_TRUE) {
    92         if (nsk_jvmti_enableNotification(jvmti, JVMTI_EVENT_CLASS_PREPARE, NULL)) {
    93             nsk_printf(" Enabled. noftification..");
    93             nsk_printf(" Enabled. noftification..");
    94         } else {
    94         } else {
    95             nsk_printf(" Failed to Enable ..");
    95             nsk_printf(" Failed to Enable ..");
    96         }
    96         }
    97     }
    97     }