diff --git a/common.vcxproj b/common.vcxproj index ac4b195..adde5dc 100644 --- a/common.vcxproj +++ b/common.vcxproj @@ -100,22 +100,22 @@ - $(SolutionDir)lib\$(Platform)-$(Configuration)\ + $(SolutionDir)lib\$(Configuration)-$(Platform)\ $(SolutionDir)tmp\$(ProjectName)-$(Configuration)-$(Platform)\ $(ProjectDir)include\common\;$(VC_IncludePath);$(WindowsSDK_IncludePath) - $(SolutionDir)lib\$(Platform)-$(Configuration)\ + $(SolutionDir)lib\$(Configuration)-$(Platform)\ $(SolutionDir)tmp\$(ProjectName)-$(Configuration)-$(Platform)\ $(ProjectDir)include\common\;$(VC_IncludePath);$(WindowsSDK_IncludePath) - $(SolutionDir)lib\$(Platform)-$(Configuration)\ + $(SolutionDir)lib\$(Configuration)-$(Platform)\ $(SolutionDir)tmp\$(ProjectName)-$(Configuration)-$(Platform)\ $(ProjectDir)include\common\;$(VC_IncludePath);$(WindowsSDK_IncludePath) - $(SolutionDir)lib\$(Platform)-$(Configuration)\ + $(SolutionDir)lib\$(Configuration)-$(Platform)\ $(SolutionDir)tmp\$(ProjectName)-$(Configuration)-$(Platform)\ $(ProjectDir)include\common\;$(VC_IncludePath);$(WindowsSDK_IncludePath) diff --git a/include/common/File.h b/include/common/File.h index ba735ec..68a2c3f 100644 --- a/include/common/File.h +++ b/include/common/File.h @@ -2,7 +2,7 @@ #include "types.h" #include #include -#include +#include "StrFmt.h" enum class fsm : u32 // file seek mode { diff --git a/include/common/SharedMutex.h b/include/common/SharedMutex.h index 2b09938..47761cc 100644 --- a/include/common/SharedMutex.h +++ b/include/common/SharedMutex.h @@ -3,7 +3,7 @@ #include #include #include -#include +#include "Atomic.h" //! An attempt to create effective implementation of "shared mutex", lock-free in optimistic case. //! All locking and unlocking may be done by single LOCK XADD or LOCK CMPXCHG instructions. diff --git a/include/common/SleepQueue.h b/include/common/SleepQueue.h index 1de522f..df4315e 100644 --- a/include/common/SleepQueue.h +++ b/include/common/SleepQueue.h @@ -2,10 +2,12 @@ #include #include -struct sleep_entry_t : std::enable_shared_from_this +struct sleep_entry_t : protected std::enable_shared_from_this { virtual void sleep() = 0; virtual void awake() = 0; + + friend class sleep_queue_entry_t; }; using sleep_queue_t = std::deque>;