diff --git a/Client/CMakeLists.txt b/Client/CMakeLists.txt index 77958c2..ee5bbdb 100644 --- a/Client/CMakeLists.txt +++ b/Client/CMakeLists.txt @@ -5,6 +5,8 @@ set(CMAKE_EXPORT_COMPILE_COMMANDS ON) project(${PROJECT_NAME} CXX) +find_package(OpenSSL REQUIRED) + include(FetchContent) FetchContent_Declare( @@ -42,6 +44,7 @@ add_executable(${PROJECT_NAME} target_link_libraries(${PROJECT_NAME} PRIVATE Microsoft.GSL::GSL) target_link_libraries(${PROJECT_NAME} PRIVATE spdlog) target_link_libraries(${PROJECT_NAME} PRIVATE jsoncpp_lib) +target_link_libraries(${PROJECT_NAME} PRIVATE OpenSSL::SSL) if(WIN32) target_link_libraries(${PROJECT_NAME} PRIVATE ws2_32) diff --git a/Server/CMakeLists.txt b/Server/CMakeLists.txt index cf13950..3fa9995 100644 --- a/Server/CMakeLists.txt +++ b/Server/CMakeLists.txt @@ -5,6 +5,8 @@ set(CMAKE_EXPORT_COMPILE_COMMANDS ON) project(${PROJECT_NAME} CXX) +find_package(OpenSSL REQUIRED) + include(FetchContent) FetchContent_Declare( @@ -43,6 +45,7 @@ add_executable(${PROJECT_NAME} target_link_libraries(${PROJECT_NAME} PRIVATE Microsoft.GSL::GSL) target_link_libraries(${PROJECT_NAME} PRIVATE spdlog) target_link_libraries(${PROJECT_NAME} PRIVATE jsoncpp_static) +target_link_libraries(${PROJECT_NAME} PRIVATE OpenSSL::SSL) if(WIN32) target_link_libraries(${PROJECT_NAME} PRIVATE ws2_32) diff --git a/Server/src/server.cpp b/Server/src/server.cpp index a9cd093..0a8c504 100644 --- a/Server/src/server.cpp +++ b/Server/src/server.cpp @@ -60,11 +60,6 @@ int main() { sock.accept(clientSock, clientAddr); threadPool.enqueueJob(_TCPClient, std::move(clientSock), clientAddr); - - Chattr::Thread thread_(_TCPClient, std::move(clientSock), clientAddr); - thread_.detach(); - - Sleep(10000000); } } diff --git a/impl/Utils/ThreadPool.cpp b/impl/Utils/ThreadPool.cpp index f573fc2..9bc9695 100644 --- a/impl/Utils/ThreadPool.cpp +++ b/impl/Utils/ThreadPool.cpp @@ -20,9 +20,9 @@ ThreadPool::~ThreadPool() { void* ThreadPool::Worker() { #ifdef _WIN32 - DWORD pid = GetCurrentProcessId(); + DWORD pid = GetCurrentThreadId(); #elif __linux__ - pid_t pid = getpid(); + pthread_t pid = pthread_self(); #endif while (!terminate_) { std::unique_lock lock(jobQueueMutex); diff --git a/include/Utils/Thread.hpp b/include/Utils/Thread.hpp index 8035585..13c3711 100644 --- a/include/Utils/Thread.hpp +++ b/include/Utils/Thread.hpp @@ -69,7 +69,7 @@ public: #ifdef _WIN32 WaitForSingleObject(handle_, INFINITE); #elif __linux__ - pthread_join(handle_, returnValue); + pthread_join(handle_, &returnValuePtr); #endif } template @@ -78,7 +78,7 @@ public: #ifdef _WIN32 WaitForSingleObject(handle_, INFINITE); #elif __linux__ - pthread_join(handle_, returnValue); + pthread_join(handle_, &returnValuePtr); #endif return *static_cast<_RetType *>(returnValuePtr); } diff --git a/include/Utils/ThreadPool.hpp b/include/Utils/ThreadPool.hpp index 1d4d700..bd8cadf 100644 --- a/include/Utils/ThreadPool.hpp +++ b/include/Utils/ThreadPool.hpp @@ -45,6 +45,8 @@ public: auto task = std::packaged_task(std::move(boundFunc)); jobs_.push(std::move(task)); jobQueueCV_.notify_one(); + + return 0; } private: