thread_linux.hpp #1

  • //
  • guest/
  • ShadauxCat/
  • Sprawl/
  • Mainline/
  • threading/
  • thread_linux.hpp
  • View
  • Commits
  • Open Download .zip Download (571 B)
#include <pthread.h>

class sprawl::threading::Handle
{
public:
	Handle()
		: m_thread()
	{
		//
	}

	Handle(pthread_t const& thread)
		: m_thread(thread)
	{
		//
	}

	Handle(Handle const& other)
		: m_thread(other.m_thread)
	{
		//
	}

	bool operator==(Handle const& other) { return m_thread == other.m_thread; }
	bool operator!=(Handle const& other) { return m_thread != other.m_thread; }

	int64_t GetUniqueId() const;
	pthread_t& GetNativeHandle() { return m_thread; }
	pthread_t const& GetNativeHandle() const { return m_thread; }
private:
	pthread_t m_thread;
};


# Change User Description Committed
#3 14148 ShadauxCat Fixed thread handle equality check not being const qualified, checks in thread unit test not using gtest macros

#review-14149
#2 13650 ShadauxCat - Windows implementations of thread and time libraries
- Added coroutines
- Added some more unit tests, fixed some unit tests in windows environments
- Fixed an issue where multi threading was not properly detected on Linux
- Fixed the makefiles to build with threading by default on linux
- Changed the pool allocator to use thread-local pools instead of locking mutexes
- Fixed output of sprawl::string in the StringBuilder library to take length into account
- Added string builder options for StringLiteral
- Added thread local implementation

#review
#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