< prev index next >
src/hotspot/share/memory/universe.cpp
Print this page
rev 52814 : 8214773: Replace use of thread unsafe strtok
Reviewed-by:
*** 71,80 ****
--- 71,81 ----
#include "runtime/sharedRuntime.hpp"
#include "runtime/synchronizer.hpp"
#include "runtime/thread.inline.hpp"
#include "runtime/timerTrace.hpp"
#include "runtime/vm_operations.hpp"
+ #include "runtime/os.inline.hpp"
#include "services/memoryService.hpp"
#include "utilities/align.hpp"
#include "utilities/copy.hpp"
#include "utilities/debug.hpp"
#include "utilities/events.hpp"
*** 1111,1127 ****
}
}
void Universe::initialize_verify_flags() {
verify_flags = 0;
const char delimiter[] = " ,";
size_t length = strlen(VerifySubSet);
char* subset_list = NEW_C_HEAP_ARRAY(char, length + 1, mtInternal);
strncpy(subset_list, VerifySubSet, length + 1);
! char* token = strtok(subset_list, delimiter);
while (token != NULL) {
if (strcmp(token, "threads") == 0) {
verify_flags |= Verify_Threads;
} else if (strcmp(token, "heap") == 0) {
verify_flags |= Verify_Heap;
--- 1112,1129 ----
}
}
void Universe::initialize_verify_flags() {
verify_flags = 0;
+ char *save_ptr;
const char delimiter[] = " ,";
size_t length = strlen(VerifySubSet);
char* subset_list = NEW_C_HEAP_ARRAY(char, length + 1, mtInternal);
strncpy(subset_list, VerifySubSet, length + 1);
! char* token = os::strtok(subset_list, delimiter, &save_ptr);
while (token != NULL) {
if (strcmp(token, "threads") == 0) {
verify_flags |= Verify_Threads;
} else if (strcmp(token, "heap") == 0) {
verify_flags |= Verify_Heap;
*** 1142,1152 ****
} else if (strcmp(token, "codecache_oops") == 0) {
verify_flags |= Verify_CodeCacheOops;
} else {
vm_exit_during_initialization(err_msg("VerifySubSet: \'%s\' memory sub-system is unknown, please correct it", token));
}
! token = strtok(NULL, delimiter);
}
FREE_C_HEAP_ARRAY(char, subset_list);
}
bool Universe::should_verify_subset(uint subset) {
--- 1144,1154 ----
} else if (strcmp(token, "codecache_oops") == 0) {
verify_flags |= Verify_CodeCacheOops;
} else {
vm_exit_during_initialization(err_msg("VerifySubSet: \'%s\' memory sub-system is unknown, please correct it", token));
}
! token = os::strtok(NULL, delimiter, &save_ptr);
}
FREE_C_HEAP_ARRAY(char, subset_list);
}
bool Universe::should_verify_subset(uint subset) {
< prev index next >