< prev index next >

src/hotspot/share/utilities/vmError.cpp

Print this page

        

*** 56,65 **** --- 56,69 ---- #ifndef PRODUCT #include <signal.h> #endif // PRODUCT + bool VMError::_vfork_mode = false; + + bool VMError::is_forkmode_vfork() { return _vfork_mode; } + bool VMError::_error_reported = false; // call this when the VM is dying--it might loosen some asserts bool VMError::is_error_reported() { return _error_reported; }
*** 1563,1577 **** --- 1567,1585 ---- #elif defined(SOLARIS) tty->print ("/usr/bin/sh -c "); #endif tty->print_cr("\"%s\"...", cmd); + VMError::_vfork_mode = true; + if (os::fork_and_exec(cmd) < 0) { tty->print_cr("os::fork_and_exec failed: %s (%s=%d)", os::strerror(errno), os::errno_name(errno), errno); } } + + VMError::_vfork_mode = false; } void VMError::report_java_out_of_memory(const char* message) { if (OnOutOfMemoryError && OnOutOfMemoryError[0]) { MutexLocker ml(Heap_lock);
< prev index next >