blob: bdbf35c2b92df502200a6e810ded5a3550680c3d (
plain) (
blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
|
#include "session_job_count.h"
#include <util/system/yassert.h>
using namespace NBus;
using namespace NBus::NPrivate;
TBusSessionJobCount::TBusSessionJobCount()
: JobCount(0)
{
}
TBusSessionJobCount::~TBusSessionJobCount() {
Y_ABORT_UNLESS(JobCount == 0, "must be 0 job count to destroy job");
}
void TBusSessionJobCount::WaitForZero() {
TGuard<TMutex> guard(Mutex);
while (AtomicGet(JobCount) > 0) {
CondVar.WaitI(Mutex);
}
}
|