Function Semaphore.open

Call this function before using the semaphore.

void open (
  ulong capacity,
  ulong used = 0LU
) pure nothrow @nogc @safe;

You can skip calling open if the semaphore is constructed explicitly

Parameters

NameDescription
capacity maximal value the semaphore can grow to.
used initial number of obtained locks. Default of zero means that the semaphore is currently unused.