< prev index next >

src/share/vm/runtime/os.cpp

Print this page
rev 10257 : 8149036: Add tracing for thread related events at os level
Reviewed-by:

*** 58,67 **** --- 58,68 ---- #include "services/nmtCommon.hpp" #include "services/threadService.hpp" #include "utilities/defaultStream.hpp" #include "utilities/events.hpp" + # include <errno.h> # include <signal.h> OSThread* os::_starting_thread = NULL; address os::_polling_page = NULL; volatile int32_t* os::_mem_serialize_page = NULL;
*** 1751,1755 **** --- 1752,1979 ---- void TestOS_test() { TestOS::run_tests(); } #endif // PRODUCT + + + const char* os::errno_name(int err_no) { + switch (err_no) { + case E2BIG: return "E2BIG"; + case EACCES: return "EACCES"; + #ifdef EADDRINUSE + case EADDRINUSE: return "EADDRINUSE"; + #endif + #ifdef EADDRNOTAVAIL + case EADDRNOTAVAIL: return "EADDRNOTAVAIL"; + #endif + #ifdef EAFNOSUPPORT + case EAFNOSUPPORT: return "EAFNOSUPPORT"; + #endif + case EAGAIN: return "EAGAIN"; + #ifdef EALREADY + case EALREADY: return "EALREADY"; + #endif + case EBADF: return "EBADF"; + #ifdef EBADMSG + case EBADMSG: return "EBADMSG"; + #endif + case EBUSY: return "EBUSY"; + #ifdef ECANCELED + case ECANCELED: return "ECANCELED"; + #endif + #ifdef ECHILD + case ECHILD: return "ECHILD"; + #endif + #ifdef ECONNABORTED + case ECONNABORTED: return "ECONNABORTED"; + #endif + #ifdef ECONNREFUSED + case ECONNREFUSED: return "ECONNREFUSED"; + #endif + #ifdef ECONNRESET + case ECONNRESET: return "ECONNRESET"; + #endif + #ifdef EDEADLK + case EDEADLK: return "EDEADLK"; + #endif + #ifdef EDESTADDRREQ + case EDESTADDRREQ: return "EDESTADDRREQ"; + #endif + #ifdef EDOM + case EDOM: return "EDOM"; + #endif + #ifdef EDQUOT + case EDQUOT: return "EDQUOT"; + #endif + #ifdef EEXIST + case EEXIST: return "EEXIST"; + #endif + case EFAULT: return "EFAULT"; + #ifdef EFBIG + case EFBIG: return "EFBIG"; + #endif + #ifdef EHOSTUNREACH + case EHOSTUNREACH: return "EHOSTUNREACH"; + #endif + #ifdef EIDRM + case EIDRM: return "EIDRM"; + #endif + #ifdef EILSEQ + case EILSEQ: return "EILSEQ"; + #endif + #ifdef EINPROGRESS + case EINPROGRESS: return "EINPROGRESS"; + #endif + case EINTR: return "EINTR"; + case EINVAL: return "EINVAL"; + #ifdef EIO + case EIO: return "EIO"; + #endif + #ifdef EISCONN + case EISCONN: return "EISCONN"; + #endif + case EISDIR: return "EISDIR"; + #ifdef ELOOP + case ELOOP: return "ELOOP"; + #endif + #ifdef EMFILE + case EMFILE: return "EMFILE"; + #endif + #ifdef EMLINK + case EMLINK: return "EMLINK"; + #endif + #ifdef EMSGSIZE + case EMSGSIZE: return "EMSGSIZE"; + #endif + #ifdef EMULTIHOP + case EMULTIHOP: return "EMULTIHOP"; + #endif + case ENAMETOOLONG: return "ENAMETOOLONG"; + #ifdef ENETDOWN + case ENETDOWN: return "ENETDOWN"; + #endif + #ifdef ENETRESET + case ENETRESET: return "ENETRESET"; + #endif + #ifdef ENETUNREACH + case ENETUNREACH: return "ENETUNREACH"; + #endif + #ifdef ENFILE + case ENFILE: return "ENFILE"; + #endif + #ifdef ENOBUFS + case ENOBUFS: return "ENOBUFS"; + #endif + #ifdef ENODATA + case ENODATA: return "ENODATA"; + #endif + #ifdef ENODEV + case ENODEV: return "ENODEV"; + #endif + case ENOENT: return "ENOENT"; + #ifdef ENOEXEC + case ENOEXEC: return "ENOEXEC"; + #endif + #ifdef ENOLCK + case ENOLCK: return "ENOLCK"; + #endif + #ifdef ENOLINK + case ENOLINK: return "ENOLINK"; + #endif + case ENOMEM: return "ENOMEM"; + #ifdef ENOMSG + case ENOMSG: return "ENOMSG"; + #endif + #ifdef ENOPROTOOPT + case ENOPROTOOPT: return "ENOPROTOOPT"; + #endif + #ifdef ENOSPC + case ENOSPC: return "ENOSPC"; + #endif + #ifdef ENOSR + case ENOSR: return "ENOSR"; + #endif + #ifdef ENOSTR + case ENOSTR: return "ENOSTR"; + #endif + #ifdef ENOSYS + case ENOSYS: return "ENOSYS"; + #endif + #ifdef ENOTCONN + case ENOTCONN: return "ENOTCONN"; + #endif + #ifdef ENOTDIR + case ENOTDIR: return "ENOTDIR"; + #endif + // AIX: ENOTEMPTY == EEXIST + #if defined(ENOTEMPTY) && (ENOTEMPTY != EEXIST) + case ENOTEMPTY: return "ENOTEMPTY"; + #endif + #ifdef ENOTSOCK + case ENOTSOCK: return "ENOTSOCK"; + #endif + #ifdef ENOTSUP + case ENOTSUP: return "ENOTSUP"; + #endif + #ifdef ENOTTY + case ENOTTY: return "ENOTTY"; + #endif + #ifdef ENXIO + case ENXIO: return "ENXIO"; + #endif + // on some unices EOPNOTSUPP==ENOTSUPP + #if defined(ENOTSUP) && defined(EOPNOTSUPP) && (EOPNOTSUPP != ENOTSUP) + case EOPNOTSUPP: return "EOPNOTSUPP"; + #endif + #ifdef EOVERFLOW + case EOVERFLOW: return "EOVERFLOW"; + #endif + #ifdef EPERM + case EPERM: return "EPERM"; + #endif + #ifdef EPIPE + case EPIPE: return "EPIPE"; + #endif + #ifdef EPROTO + case EPROTO: return "EPROTO"; + #endif + #ifdef EPROTONOSUPPORT + case EPROTONOSUPPORT: return "EPROTONOSUPPORT"; + #endif + #ifdef EPROTOTYPE + case EPROTOTYPE: return "EPROTOTYPE"; + #endif + case ERANGE: return "ERANGE"; + #ifdef EROFS + case EROFS: return "EROFS"; + #endif + #ifdef ESPIPE + case ESPIPE: return "ESPIPE"; + #endif + #ifdef ESRCH + case ESRCH: return "ESRCH"; + #endif + #ifdef ESTALE + case ESTALE: return "ESTALE"; + #endif + #ifdef ETIME + case ETIME: return "ETIME"; + #endif + #ifdef ETIMEDOUT + case ETIMEDOUT: return "ETIMEDOUT"; + #endif + #ifdef ETXTBSY + case ETXTBSY: return "ETXTBSY"; + #endif + // on some unices EWOULDBLOCK==EAGAIN + #if defined(EWOULDBLOCK) && (EWOULDBLOCK != EAGAIN) + case EWOULDBLOCK: return "EWOULDBLOCK"; + #endif + #ifdef EXDEV + case EXDEV: return "EXDEV"; + #endif + default: return "unknown"; + } + } + +
< prev index next >