< prev index next >
src/hotspot/share/memory/universe.cpp
Print this page
rev 52814 : 8214773: Replace use of thread unsafe strtok
Reviewed-by:
*** 1116,1127 ****
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;
--- 1116,1128 ----
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* save_ptr;
! char* token = strtok_r(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) {
--- 1143,1153 ----
} 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_r(NULL, delimiter, &save_ptr);
}
FREE_C_HEAP_ARRAY(char, subset_list);
}
bool Universe::should_verify_subset(uint subset) {
< prev index next >