< prev index next >

src/os/solaris/vm/os_solaris.cpp

Print this page

        

*** 731,740 **** --- 731,743 ---- int pid = os::current_process_id(); alloca(((pid ^ counter++) & 7) * 128); int prio; Thread* thread = (Thread*)thread_addr; + + thread->initialize_thread_current(); + OSThread* osthr = thread->osthread(); osthr->set_lwp_id(_lwp_self()); // Store lwp in case we are bound thread->_schedctl = (void *) schedctl_init();
*** 5613,5623 **** argv[2] = cmd; argv[3] = NULL; // fork is async-safe, fork1 is not so can't use in signal handler pid_t pid; ! Thread* t = ThreadLocalStorage::get_thread_slow(); if (t != NULL && t->is_inside_signal_handler()) { pid = fork(); } else { pid = fork1(); } --- 5616,5626 ---- argv[2] = cmd; argv[3] = NULL; // fork is async-safe, fork1 is not so can't use in signal handler pid_t pid; ! Thread* t = Thread::current(); if (t != NULL && t->is_inside_signal_handler()) { pid = fork(); } else { pid = fork1(); }
< prev index next >