adjust HiveWhiteboard Interface to blockingly request a new slot
The IHiveWhiteBoard interface should allow for a blocking call to request a new free slot.
In the LHCb scheduler we face the issue that the IHiveWhiteBoard does not allow us to check for free slots and execute based on that behaviour atomically.
I refer to lhcb/LHCb#233 (comment 5695469) for specifics.
In summary, we have to work around potential deadlocks by waking up condition variables spuriously if freeSlots()
and clearStore()
are called at the same time.
See lhcb/LHCb!3645 (comment 5700565) for a suggestion.