mutex_windows.inl #2

  • //
  • guest/
  • ShadauxCat/
  • Sprawl/
  • Mainline/
  • threading/
  • mutex_windows.inl
  • View
  • Commits
  • Open Download .zip Download (408 B)
inline void sprawl::threading::Mutex::Lock()
{
	AcquireSRWLockExclusive(&m_mutexImpl);
}

inline bool sprawl::threading::Mutex::TryLock()
{
	return TryAcquireSRWLockExclusive(&m_mutexImpl);
}

inline void sprawl::threading::Mutex::Unlock()
{
	ReleaseSRWLockExclusive(&m_mutexImpl);
}

inline sprawl::threading::Mutex::Mutex()
	: m_mutexImpl(SRWLOCK_INIT)
{

}

inline sprawl::threading::Mutex::~Mutex()
{

}
# Change User Description Committed
#2 16225 ShadauxCat - Renamed OpaquePtr to OpaqueType, which is more correct as it isn't a pointer.
- Added alignment restriction to OpaqueType
- Changed Mutex implementation on Windows to use faster SRWLOCK instead of CRITICAL_SECTION (cannot mirror this change on Linux because pthread_cond_wait can't accept a pthread_rwlock_t)

#review-16226
#1 12508 ShadauxCat -Added threading library.
Currently only functional for Linux; Windows will fail to link. (I will fix this soon.)
-Fixed missing move and copy constructors in List and ForwardList
-Fixed broken move constructor in HashMap
-Fixed missing const get() in HashMap
-Fixed broken operator-> in ListIterator
-Added sprawl::noncopyable
-Added sketch headers for filesystem library
-Made StringLiteral hashable, added special hashes for pointers and integers in murmur3
-Fixed compiler warning in async_network
-Updated memory allocators to use new threading library for mutexes
-Added accessibility to sprawl::StringLiteral to be able toa ccess its pointer and length and perform pointer comparisons

#review-12504