You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Hi all, friendly drive-by question/issue about how this spec is queuing tasks on the event loop: should the algorithms in this spec running out of the lock task queue (which is a parallel queue) explicitly queue a global task when running script? My understanding from [1] is that they should be.
I see some cases where script is being run directly out of a parallel queue, e.g. rejecting promises in step 3.4 of the request algorithm, and some cases where the parallel enqueue algorithm is being used on the event loop, e.g. step 5.1 of the request algorithm --- which I don't think makes sense since that algorithm takes a parallel queue as an argument.
I also see that there's a statement that the "the task source for steps enqueued below is the web locks tasks source," but it's not clear how that applies, i.e. steps themselves run out of a parallel queue which has no task source. IIUC this task source should be used in the context of queueing a global task, which should be added to the parallel queue algorithms where necessary.
Thoughts?
[1] From the event loop spec on discussing parallel algorithms, "To affect the world of observable JavaScript objects, then, you must queue a global task to perform any such manipulations."
The text was updated successfully, but these errors were encountered:
Yeah, I think that's what Gecko already does indeed. The lock task queue exists in a separate process and it pings the content process to do the things, like settling a promise.
Hi all, friendly drive-by question/issue about how this spec is queuing tasks on the event loop: should the algorithms in this spec running out of the lock task queue (which is a parallel queue) explicitly queue a global task when running script? My understanding from [1] is that they should be.
I see some cases where script is being run directly out of a parallel queue, e.g. rejecting promises in step 3.4 of the request algorithm, and some cases where the parallel enqueue algorithm is being used on the event loop, e.g. step 5.1 of the request algorithm --- which I don't think makes sense since that algorithm takes a parallel queue as an argument.
I also see that there's a statement that the "the task source for steps enqueued below is the web locks tasks source," but it's not clear how that applies, i.e. steps themselves run out of a parallel queue which has no task source. IIUC this task source should be used in the context of queueing a global task, which should be added to the parallel queue algorithms where necessary.
Thoughts?
[1] From the event loop spec on discussing parallel algorithms, "To affect the world of observable JavaScript objects, then, you must queue a global task to perform any such manipulations."
The text was updated successfully, but these errors were encountered: