< prev index next >

src/os/aix/vm/perfMemory_aix.cpp

Print this page
rev 11747 : 8162869: Small fixes for AIX perf memory and attach listener

*** 949,977 **** // static int open_sharedmem_file(const char* filename, int oflags, TRAPS) { // open the file int result; ! // No O_NOFOLLOW defined at buildtime, and it is not documented for open; ! // so provide a workaround in this case #ifdef O_NOFOLLOW RESTARTABLE(::open(filename, oflags), result); #else result = open_o_nofollow(filename, oflags); #endif - if (result == OS_ERR) { if (errno == ENOENT) { ! THROW_MSG_0(vmSymbols::java_lang_IllegalArgumentException(), ! "Process not found"); } else if (errno == EACCES) { ! THROW_MSG_0(vmSymbols::java_lang_IllegalArgumentException(), ! "Permission denied"); } else { ! THROW_MSG_0(vmSymbols::java_io_IOException(), os::strerror(errno)); } } int fd = result; // Check to see if the file is secure. --- 949,976 ---- // static int open_sharedmem_file(const char* filename, int oflags, TRAPS) { // open the file int result; ! // provide a workaround in case no O_NOFOLLOW is defined at buildtime #ifdef O_NOFOLLOW RESTARTABLE(::open(filename, oflags), result); #else result = open_o_nofollow(filename, oflags); #endif if (result == OS_ERR) { if (errno == ENOENT) { ! THROW_MSG_(vmSymbols::java_lang_IllegalArgumentException(), ! "Process not found", OS_ERR); } else if (errno == EACCES) { ! THROW_MSG_(vmSymbols::java_lang_IllegalArgumentException(), ! "Permission denied", OS_ERR); } else { ! THROW_MSG_(vmSymbols::java_io_IOException(), ! os::strerror(errno), OS_ERR); } } int fd = result; // Check to see if the file is secure.
*** 985,995 **** // create a named shared memory region. returns the address of the // memory region on success or NULL on failure. A return value of // NULL will ultimately disable the shared memory feature. // ! // On AIX, Solaris and Linux, the name space for shared memory objects // is the file system name space. // // A monitoring application attaching to a JVM does not need to know // the file system name of the shared memory object. However, it may // be convenient for applications to discover the existence of newly --- 984,994 ---- // create a named shared memory region. returns the address of the // memory region on success or NULL on failure. A return value of // NULL will ultimately disable the shared memory feature. // ! // On AIX, the name space for shared memory objects // is the file system name space. // // A monitoring application attaching to a JVM does not need to know // the file system name of the shared memory object. However, it may // be convenient for applications to discover the existence of newly
*** 1009,1018 **** --- 1008,1018 ---- if (user_name == NULL) return NULL; char* dirname = get_user_tmp_dir(user_name); char* filename = get_sharedmem_filename(dirname, vmid); + // get the short filename. char* short_filename = strrchr(filename, '/'); if (short_filename == NULL) { short_filename = filename; } else {
< prev index next >