src/os/linux/vm/os_linux.cpp
Index
Unified diffs
Context diffs
Sdiffs
Patch
New
Old
Previous File
Next File
8044339 Cdiff src/os/linux/vm/os_linux.cpp
src/os/linux/vm/os_linux.cpp
Print this page
rev 6486 : imported patch JDK-8044339.diff
*** 5536,5549 ****
// (b) timeout
// (c) thread.interrupt
//
// Thread.interrupt and object.notify{All} both call Event::set.
// That is, we treat thread.interrupt as a special case of notification.
! // The underlying Solaris implementation, cond_timedwait, admits
! // spurious/premature wakeups, but the JLS/JVM spec prevents the
! // JVM from making those visible to Java code. As such, we must
! // filter out spurious wakeups. We assume all ETIME returns are valid.
//
// TODO: properly differentiate simultaneous notify+interrupt.
// In that case, we should propagate the notify to another waiter.
while (_Event < 0) {
--- 5536,5547 ----
// (b) timeout
// (c) thread.interrupt
//
// Thread.interrupt and object.notify{All} both call Event::set.
// That is, we treat thread.interrupt as a special case of notification.
! // We must filter out spurious wakeups.
! // We assume all ETIME returns are valid.
//
// TODO: properly differentiate simultaneous notify+interrupt.
// In that case, we should propagate the notify to another waiter.
while (_Event < 0) {
src/os/linux/vm/os_linux.cpp
Index
Unified diffs
Context diffs
Sdiffs
Patch
New
Old
Previous File
Next File