]> Cypherpunks.ru repositories - gostls13.git/commit
misc/wasm: add workaround for missed timeout events
authorRichard Musiol <mail@richard-musiol.de>
Tue, 12 Mar 2019 22:40:03 +0000 (23:40 +0100)
committerRichard Musiol <neelance@gmail.com>
Thu, 14 Mar 2019 17:09:32 +0000 (17:09 +0000)
commit47e42cdadc4abeb28ff21930bfe22210dcb9abd4
tree7405b00f2a060f6e86abc1e31d5dc1eabdc9e6b1
parentb130764043f2106929a2e6f75ced8edfd2a542ea
misc/wasm: add workaround for missed timeout events

TryBot is sometimes running into deadlocks on js/wasm. We haven't been
able to reproduce them yet. This workaround is an experiment to resolve
these deadlocks by retrying a missed timeout event.

A timeout event is scheduled by Go to be woken by JavaScript after a
certain amount of time. The checkTimeouts function then checks which
notes to wake by comparing their deadline to nanotime. If this
check fails erroneously then the note may stay asleep forever, causing
a deadlock. This may or may not be the reason of the observed
deadlocks.

Updates #28975.

Change-Id: I46b9d4069307142914f0e7b3acd4e65578319f0b
Reviewed-on: https://go-review.googlesource.com/c/go/+/167119
Reviewed-by: Brad Fitzpatrick <bradfitz@golang.org>
misc/wasm/wasm_exec.js