< prev index next >

src/os/solaris/vm/attachListener_solaris.cpp

Print this page

        

*** 392,402 **** snprintf(door_path, sizeof(door_path), "%s/.java_pid%d", os::get_temp_directory(), os::current_process_id()); snprintf(initial_path, sizeof(initial_path), "%s.tmp", door_path); RESTARTABLE(::creat(initial_path, S_IRUSR | S_IWUSR), fd); if (fd == -1) { ! debug_only(warning("attempt to create %s failed", initial_path)); ::door_revoke(dd); return -1; } assert(fd >= 0, "bad file descriptor"); ::close(fd); --- 392,402 ---- snprintf(door_path, sizeof(door_path), "%s/.java_pid%d", os::get_temp_directory(), os::current_process_id()); snprintf(initial_path, sizeof(initial_path), "%s.tmp", door_path); RESTARTABLE(::creat(initial_path, S_IRUSR | S_IWUSR), fd); if (fd == -1) { ! log_debug(attach)("attempt to create door file %s failed (%d)", initial_path, errno); ::door_revoke(dd); return -1; } assert(fd >= 0, "bad file descriptor"); ::close(fd);
*** 407,432 **** --- 407,435 ---- if (errno == EBUSY) { ::fdetach(initial_path); res = ::fattach(dd, initial_path); } if (res == -1) { + log_debug(attach)("unable to create door - fattach failed (%d)", errno); ::door_revoke(dd); dd = -1; } } // rename file so that clients can attach if (dd >= 0) { if (::rename(initial_path, door_path) == -1) { ::close(dd); ::fdetach(initial_path); + log_debug(attach)("unable to create door - rename %s to %s failed (%d)", errno); dd = -1; } } if (dd >= 0) { set_door_descriptor(dd); set_door_path(door_path); + log_trace(attach)("door file %s created succesfully", door_path); } else { // unable to create door, attach it to file, or rename file into place ::unlink(initial_path); return -1; }
< prev index next >