hotspot/src/os/linux/vm/perfMemory_linux.cpp
changeset 5237 aab592fd4f44
parent 2131 98f9cef66a34
child 5547 f4b087cbb361
equal deleted inserted replaced
5095:06b1faf0df9c 5237:aab592fd4f44
   143 //
   143 //
   144 static char* get_user_tmp_dir(const char* user) {
   144 static char* get_user_tmp_dir(const char* user) {
   145 
   145 
   146   const char* tmpdir = os::get_temp_directory();
   146   const char* tmpdir = os::get_temp_directory();
   147   const char* perfdir = PERFDATA_NAME;
   147   const char* perfdir = PERFDATA_NAME;
   148   size_t nbytes = strlen(tmpdir) + strlen(perfdir) + strlen(user) + 2;
   148   size_t nbytes = strlen(tmpdir) + strlen(perfdir) + strlen(user) + 3;
   149   char* dirname = NEW_C_HEAP_ARRAY(char, nbytes);
   149   char* dirname = NEW_C_HEAP_ARRAY(char, nbytes);
   150 
   150 
   151   // construct the path name to user specific tmp directory
   151   // construct the path name to user specific tmp directory
   152   snprintf(dirname, nbytes, "%s%s_%s", tmpdir, perfdir, user);
   152   snprintf(dirname, nbytes, "%s/%s_%s", tmpdir, perfdir, user);
   153 
   153 
   154   return dirname;
   154   return dirname;
   155 }
   155 }
   156 
   156 
   157 // convert the given file name into a process id. if the file
   157 // convert the given file name into a process id. if the file
   329     if (strncmp(dentry->d_name, PERFDATA_NAME, strlen(PERFDATA_NAME)) != 0) {
   329     if (strncmp(dentry->d_name, PERFDATA_NAME, strlen(PERFDATA_NAME)) != 0) {
   330       continue;
   330       continue;
   331     }
   331     }
   332 
   332 
   333     char* usrdir_name = NEW_C_HEAP_ARRAY(char,
   333     char* usrdir_name = NEW_C_HEAP_ARRAY(char,
   334                               strlen(tmpdirname) + strlen(dentry->d_name) + 1);
   334                               strlen(tmpdirname) + strlen(dentry->d_name) + 2);
   335     strcpy(usrdir_name, tmpdirname);
   335     strcpy(usrdir_name, tmpdirname);
       
   336     strcat(usrdir_name, "/");
   336     strcat(usrdir_name, dentry->d_name);
   337     strcat(usrdir_name, dentry->d_name);
   337 
   338 
   338     DIR* subdirp = os::opendir(usrdir_name);
   339     DIR* subdirp = os::opendir(usrdir_name);
   339 
   340 
   340     if (subdirp == NULL) {
   341     if (subdirp == NULL) {