< 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 >