MCPcopy Create free account
hub / github.com/alibaba/PhotonLibOS / timedLock

Function timedLock

thread/test/test-multi-vcpu-locking.cpp:37–51  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

35bool running = true;
36
37static void timedLock(photon_std::mutex& mutex, int index) {
38 long long durationMicros;
39 auto start = std::chrono::steady_clock::now();
40 {
41 photon_std::lock_guard<photon_std::mutex> lock(mutex);
42 acquisitionCounters[index].fetch_add(1);
43 auto end = std::chrono::steady_clock::now();
44 durationMicros = std::chrono::duration_cast<std::chrono::microseconds>(end - start).count();
45 acquisitionDurations[index].fetch_add(durationMicros);
46 }
47 if (durationMicros > 1'000'000) {
48 LOG_ERROR("long acquisition. mutex `, duration: `ms", index, durationMicros / 1000);
49 std::abort();
50 }
51}
52
53static void myThread(int tid) {
54 LOG_INFO("thread ` starting", tid);

Callers 1

myThreadFunction · 0.85

Calls 1

countMethod · 0.45

Tested by

no test coverage detected