Skip to content
This repository has been archived by the owner on Jan 25, 2022. It is now read-only.

Forward progress guarantees #5

Closed
jfbastien opened this issue Aug 5, 2015 · 5 comments
Closed

Forward progress guarantees #5

jfbastien opened this issue Aug 5, 2015 · 5 comments

Comments

@jfbastien
Copy link
Contributor

Shared memory and atomics rely on threads offering forward-progress guarantee in order to be useful. This spec therefore relies on improving workers along the lines of Torvald Riegel's N4439 paper to the C++ standards committee.

@lars-t-hansen
Copy link
Collaborator

Agreed. I will add prose to the "Web browser embedding" section at a minimum (and I've reached out to our standards people re the Worker spec issues), but to be embedding-neutral I probably also have to add something about agent semantics in general.

@lars-t-hansen
Copy link
Collaborator

In ES6 terms, this may be formalized in the context of jobs (ES6 8.4) having a forward-progress guarantee, which seems eminently possible, and workers being restated in terms of jobs, which is a bit more open but probably desirable.

@lars-t-hansen
Copy link
Collaborator

Bug filed against the WHATWG spec here: https://www.w3.org/Bugs/Public/show_bug.cgi?id=29039.

@lars-t-hansen
Copy link
Collaborator

Current spec text proposes (lightweight) wording changes to ES6 to add a forward progress guarantee for jobs, with a reference to n4439 in a Note to bring it to the committee's attention, and also adds a suggestion in the non-normative section on agent mapping that workers should be restated in terms of jobs.

Once the spec goes to TC39 it will become natural to file the missing forward progress guarantee as a bug against ES262.

I will close this bug because I think the spec text now contains all the information herein.

@jfbastien
Copy link
Contributor Author

Circling back, the following was added to C++17: http://wg21.link/p0296r2

Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants