KhronosGroup / KhronosGroup/Vulkan-Docs

Ambiguous phrase: "the act of waiting" on a binary semaphore

Open
#2,412 2 comments 0 reactions 0 assignees View on GitHub
Dominant language
JavaScript
Stars
3.3k
Forks
549
Avg merge
5d 5h
Merged PRs (30d)
2

Description

From [Semaphore Waiting](https://docs.vulkan.org/spec/latest/chapters/synchronization.html#synchronization-semaphores-waiting):
> Unlike timeline semaphores, fences or events, the act of waiting for a binary semaphore also unsignals that semaphore.

This language is ambiguous as to when "the act of waiting" occurs. I believe the intent is that the semaphore is unsignaled *after the wait completes*; but "the act of waiting" can be read as happening *when the wait begins*.

I suggest:
> Unlike timeline semaphores, fences or events, waiting for a binary semaphore also unsignals that semaphore **when the wait completes**.

Note that the phrases "when" and "after" are probably -- in the language of the spec -- ill-defined since (as far as I can tell) there isn't necessarily a globally-consistent timeline among all threads of execution implied. On the other hand these words are already used elsewhere in the section.

Contributor guide

Open the contributing guide

Research direction

Start with the “Semaphore Waiting” section in the linked Vulkan specification text and review the quoted sentence in context. Clarify when a binary semaphore becomes unsignaled, using the suggested wording if it matches the specification’s terminology and semantics; done means the ambiguity about the timing of unsignaling is removed.

Written by the indexing model from the issue text.

Assessment

Domain
documentation
Issue type
Documentation
Difficulty
1/5
Estimated time
Under an hour
Activity status
Stale
Clarity
Clearly specified
Newbie friendliness
48/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.