BloombergLP::bslmt::FastPostSemaphore::take

Take up to maximumToTake units from this semaphore.

Synopsis

Declared in <bslmt_fastpostsemaphore.h>

int
take(int maximumToTake);

Description

If the count of this semaphore is positive, reduce the count by the lesser of the count and the specified maximumToTake and return the magnitude of the change to the count. Otherwise, do nothing and return 0.

Return Value

number of units taken, or 0 if the count was not positive

Parameters

NameDescription
maximumToTakemaximum number of units to take from the count