Join GitHub today
GitHub is home to over 28 million developers working together to host and review code, manage projects, and build software together.
Sign upWaiter removed twice when waking suspended agent? #861
Comments
This comment has been minimized.
Show comment
Hide comment
This comment has been minimized.
syg
Apr 4, 2017
Member
@lars-t-hansen wrote that part but I concur with @AndrewScheidecker's reading here that there's double removal in the case of non-spurious wakeup in Atomics.wake. I'd imagine the fix here is to perform RemoveWaiter from Atomics.wake only in the case of spurious wakeup, and in the intentional wakeup case, assert that W is not in WL.
|
@lars-t-hansen wrote that part but I concur with @AndrewScheidecker's reading here that there's double removal in the case of non-spurious wakeup in |
This comment has been minimized.
Show comment
Hide comment
This comment has been minimized.
lars-t-hansen
Apr 4, 2017
Contributor
@syg, I assume by "spurious wakeup" you mean "the agent was explicitly woken, it did not time out". If so, I agree with your suggestions. (If you actually mean "spurious wakeup" then we have bigger problems, because there shouldn't be any spurious wakeups.)
|
@syg, I assume by "spurious wakeup" you mean "the agent was explicitly woken, it did not time out". If so, I agree with your suggestions. (If you actually mean "spurious wakeup" then we have bigger problems, because there shouldn't be any spurious wakeups.) |
This comment has been minimized.
Show comment
Hide comment
This comment has been minimized.
|
Opened a PR here: #865 |
This comment has been minimized.
Show comment
Hide comment
This comment has been minimized.
syg
Apr 4, 2017
Member
@lars-t-hansen Err, I'm not sure what I meant as I typed that while leaving work yesterday -- but timeout is the right thing here.
|
@lars-t-hansen Err, I'm not sure what I meant as I typed that while leaving work yesterday -- but timeout is the right thing here. |
binji commentedApr 3, 2017
@AndrewScheidecker pointed out what seems to be a bug in the spec here:
WebAssembly/design#1019 (comment)
I took a look and this seems right to me. Are we missing something?
cc: @lars-t-hansen @syg