< prev index next >

src/hotspot/os/posix/os_posix.cpp

Print this page
rev 52472 : 8211326: add OS user related information to hs_err file

*** 35,44 **** --- 35,46 ---- #include "utilities/macros.hpp" #include "utilities/vmError.hpp" #include <dirent.h> #include <dlfcn.h> + #include <grp.h> + #include <pwd.h> #include <pthread.h> #include <signal.h> #include <sys/mman.h> #include <sys/resource.h> #include <sys/utsname.h>
*** 439,448 **** --- 441,482 ---- st->print("%s ", name.version); st->print("%s", name.machine); st->cr(); } + void os::Posix::print_umask(outputStream* st, mode_t umsk) { + st->print((umsk & S_IRUSR) ? "r" : "-"); + st->print((umsk & S_IWUSR) ? "w" : "-"); + st->print((umsk & S_IXUSR) ? "x" : "-"); + st->print((umsk & S_IRGRP) ? "r" : "-"); + st->print((umsk & S_IWGRP) ? "w" : "-"); + st->print((umsk & S_IXGRP) ? "x" : "-"); + st->print((umsk & S_IROTH) ? "r" : "-"); + st->print((umsk & S_IWOTH) ? "w" : "-"); + st->print((umsk & S_IXOTH) ? "x" : "-"); + } + + void os::Posix::print_user_info(outputStream* st) { + unsigned id = (unsigned) ::getuid(); + st->print("uid : %u ", id); + id = (unsigned) ::geteuid(); + st->print("euid : %u ", id); + id = (unsigned) ::getgid(); + st->print("gid : %u ", id); + id = (unsigned) ::getegid(); + st->print_cr("egid : %u", id); + st->cr(); + + mode_t umsk = ::umask(0); + ::umask(umsk); + st->print("umask: %04o (", (unsigned) umsk); + print_umask(st, umsk); + st->print_cr(")"); + st->cr(); + } + + bool os::get_host_name(char* buf, size_t buflen) { struct utsname name; uname(&name); jio_snprintf(buf, buflen, "%s", name.nodename); return true;
< prev index next >