File tree Expand file tree Collapse file tree 3 files changed +11
-5
lines changed
Expand file tree Collapse file tree 3 files changed +11
-5
lines changed Original file line number Diff line number Diff line change @@ -5,6 +5,7 @@ CMakeCache.txt
55CMakeFiles
66Makefile
77* .ninja
8+ \. cache
89\. ninja_ *
910Testing
1011build
Original file line number Diff line number Diff line change @@ -64,7 +64,7 @@ struct Worker {
6464
6565
6666static Pool *pool_default_inst = nullptr ;
67- static std::mutex pool_default_lock;
67+ static Lock pool_default_lock;
6868static uint32_t cached_core_count = 0 ;
6969
7070uint32_t core_count () {
@@ -128,7 +128,7 @@ uint32_t pool_thread_id() {
128128}
129129
130130Pool *pool_default () {
131- std::unique_lock<std::mutex > guard (pool_default_lock);
131+ std::unique_lock<Lock > guard (pool_default_lock);
132132
133133 if (!pool_default_inst)
134134 pool_default_inst = pool_create ();
@@ -159,7 +159,7 @@ void pool_destroy(Pool *pool) {
159159
160160uint32_t pool_size (Pool *pool) {
161161 if (!pool) {
162- std::unique_lock<std::mutex > guard (pool_default_lock);
162+ std::unique_lock<Lock > guard (pool_default_lock);
163163 pool = pool_default_inst;
164164 }
165165
@@ -171,7 +171,7 @@ uint32_t pool_size(Pool *pool) {
171171
172172void pool_set_size (Pool *pool, uint32_t size) {
173173 if (!pool) {
174- std::unique_lock<std::mutex > guard (pool_default_lock);
174+ std::unique_lock<Lock > guard (pool_default_lock);
175175 pool = pool_default_inst;
176176
177177 if (!pool) {
Original file line number Diff line number Diff line change 1111
1212#include < atomic>
1313#include < vector>
14- #include < mutex>
1514#include < condition_variable>
1615#include < cstring>
1716
1817#if defined(_WIN32)
1918# include < windows.h>
19+ # include < shared_mutex>
20+ using Lock = std::shared_mutex; // Prefer (more efficient) shared_mutex on Windows
21+ #else
22+ # include < mutex>
23+ using Lock = std::mutex;
2024#endif
2125
26+
2227struct Pool ;
2328
2429constexpr uint64_t high_bit = (uint64_t ) 0x0000000100000000ull ;
You can’t perform that action at this time.
0 commit comments