src/os_cpu/solaris_x86/vm/os_solaris_x86.cpp
Print this page
*** 254,287 ****
} else {
return os::get_sender_for_C_frame(&myframe);
}
}
- static int threadgetstate(thread_t tid, int *flags, lwpid_t *lwp, stack_t *ss, gregset_t rs, lwpstatus_t *lwpstatus) {
- char lwpstatusfile[PROCFILE_LENGTH];
- int lwpfd, err;
-
- if (err = os::Solaris::thr_getstate(tid, flags, lwp, ss, rs))
- return (err);
- if (*flags == TRS_LWPID) {
- sprintf(lwpstatusfile, "/proc/%d/lwp/%d/lwpstatus", getpid(),
- *lwp);
- if ((lwpfd = open(lwpstatusfile, O_RDONLY)) < 0) {
- perror("thr_mutator_status: open lwpstatus");
- return (EINVAL);
- }
- if (pread(lwpfd, lwpstatus, sizeof (lwpstatus_t), (off_t)0) !=
- sizeof (lwpstatus_t)) {
- perror("thr_mutator_status: read lwpstatus");
- (void) close(lwpfd);
- return (EINVAL);
- }
- (void) close(lwpfd);
- }
- return (0);
- }
-
#ifndef AMD64
// Detecting SSE support by OS
// From solaris_i486.s
extern "C" bool sse_check();
--- 254,263 ----