Lines Matching refs:shared
307 SharedState* shared; member
553 SharedState* shared; member
560 SharedState* shared = arg->shared; in ThreadBody() local
563 MutexLock l(&shared->mu); in ThreadBody()
564 shared->num_initialized++; in ThreadBody()
565 if (shared->num_initialized >= shared->total) { in ThreadBody()
566 shared->cv.SignalAll(); in ThreadBody()
568 while (!shared->start) { in ThreadBody()
569 shared->cv.Wait(); in ThreadBody()
578 MutexLock l(&shared->mu); in ThreadBody()
579 shared->num_done++; in ThreadBody()
580 if (shared->num_done >= shared->total) { in ThreadBody()
581 shared->cv.SignalAll(); in ThreadBody()
588 SharedState shared; in RunBenchmark() local
589 shared.total = n; in RunBenchmark()
590 shared.num_initialized = 0; in RunBenchmark()
591 shared.num_done = 0; in RunBenchmark()
592 shared.start = false; in RunBenchmark()
598 arg[i].shared = &shared; in RunBenchmark()
600 arg[i].thread->shared = &shared; in RunBenchmark()
604 shared.mu.Lock(); in RunBenchmark()
605 while (shared.num_initialized < n) { in RunBenchmark()
606 shared.cv.Wait(); in RunBenchmark()
609 shared.start = true; in RunBenchmark()
610 shared.cv.SignalAll(); in RunBenchmark()
611 while (shared.num_done < n) { in RunBenchmark()
612 shared.cv.Wait(); in RunBenchmark()
614 shared.mu.Unlock(); in RunBenchmark()
898 MutexLock l(&thread->shared->mu); in ReadWhileWriting()
899 if (thread->shared->num_done + 1 >= thread->shared->num_initialized) { in ReadWhileWriting()