Skip to content

Commit

Permalink
Make LockGuard methods inline to please MSVC.
Browse files Browse the repository at this point in the history
  • Loading branch information
amato-gianluca committed Feb 8, 2021
1 parent f040034 commit 4108420
Show file tree
Hide file tree
Showing 4 changed files with 19 additions and 25 deletions.
1 change: 0 additions & 1 deletion msvc/VS2019/leela-zero.vcxproj
Expand Up @@ -76,7 +76,6 @@
<ClCompile Include="..\..\src\SGFParser.cpp" />
<ClCompile Include="..\..\src\SGFTree.cpp" />
<ClCompile Include="..\..\src\SHA256.cpp" />
<ClCompile Include="..\..\src\SharedMutex.cpp" />
<ClCompile Include="..\..\src\SMP.cpp" />
<ClCompile Include="..\..\src\TimeControl.cpp" />
<ClCompile Include="..\..\src\Timing.cpp" />
Expand Down
3 changes: 0 additions & 3 deletions msvc/VS2019/leela-zero.vcxproj.filters
Expand Up @@ -188,9 +188,6 @@
<ClCompile Include="..\..\src\SHA256.cpp">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="..\..\src\SharedMutex.cpp">
<Filter>Source Files</Filter>
</ClCompile>
</ItemGroup>
<ItemGroup>
<None Include="packages.config" />
Expand Down
21 changes: 0 additions & 21 deletions src/SharedMutex.cpp

This file was deleted.

19 changes: 19 additions & 0 deletions src/SharedMutex.h
Expand Up @@ -82,4 +82,23 @@ class LockGuard {
SharedMutex &m_sm;
};

template<>
inline LockGuard<lock_t::X_LOCK>::LockGuard(SharedMutex& sm) : m_sm(sm) {
m_sm.lock();
}

template<>
inline LockGuard<lock_t::X_LOCK>::~LockGuard() {
m_sm.unlock();
}

template<>
inline LockGuard<lock_t::S_LOCK>::LockGuard(SharedMutex& sm) : m_sm(sm) {
m_sm.lock_shared();
}

template<>
inline LockGuard<lock_t::S_LOCK>::~LockGuard() {
m_sm.unlock_shared();
}
#endif

0 comments on commit 4108420

Please sign in to comment.