diff --git a/spec.bs b/spec.bs index 0fca17be8..64a7bfa06 100644 --- a/spec.bs +++ b/spec.bs @@ -6705,14 +6705,16 @@ scoring signals requests=] |entriesToBatch|: To batch and fetch trusted scoring signals given a [=trusted scoring signals batcher=] |batcher|: +1. [=Assert=] that these steps are running [=in parallel=]. 1. Until |batcher| is no longer needed: 1. Wait until at least one of the following is true: * |batcher|'s [=trusted scoring signals batcher/request queue=] [=map/is not empty=]. * |batcher|'s [=trusted scoring signals batcher/request map=] [=map/is not empty=] and some heuristically chosen amount of time has passed. - 1. Atomically transfer all entries in |batcher|'s [=trusted scoring signals batcher/ - request queue=] to |incomingRequests|, leaving |batcher|'s [=trusted scoring signals batcher/ - request queue=] empty. + 1. Atomically do: + 1. Let |incomingRequests| be a [=list/clone=] of |batcher|'s [=trusted scoring signals batcher/ + request queue=]. + 1. [=list/Empty=] |batcher|'s [=trusted scoring signals batcher/request queue=]. 1. [=list/For each=] |request| in |incomingRequests|: 1. Let |key| be (|request|'s [=trusted scoring signals request/seller script fetcher=], |request|'s [=trusted scoring signals request/base url=], |request|'s [=trusted scoring