mirror of
https://github.com/golang/go
synced 2024-09-06 00:19:45 +00:00
runtime: fix notetsleepg deadline on js/wasm
A notetsleepg may get stuck if its timeout callback gets invoked exactly on its deadline due to low precision of nanotime. This change fixes the comparison so it also resolves the note if the timestamps are equal. Updates #28975 Change-Id: I045d2f48b7f41cea0caec19b56876e9de01dcd6c Reviewed-on: https://go-review.googlesource.com/c/153558 Run-TryBot: Richard Musiol <neelance@gmail.com> TryBot-Result: Gobot Gobot <gobot@golang.org> Reviewed-by: Ian Lance Taylor <iant@golang.org>
This commit is contained in:
parent
204a8f55dc
commit
f4f6594124
|
@ -127,7 +127,7 @@ func notetsleepg(n *note, ns int64) bool {
|
|||
func checkTimeouts() {
|
||||
now := nanotime()
|
||||
for n, nt := range notesWithTimeout {
|
||||
if n.key == note_cleared && now > nt.deadline {
|
||||
if n.key == note_cleared && now >= nt.deadline {
|
||||
n.key = note_timeout
|
||||
goready(nt.gp, 1)
|
||||
}
|
||||
|
|
Loading…
Reference in a new issue