[PR #2932] [MERGED] externals: Remove winpthreads. #3094

Closed
opened 2026-02-27 22:02:25 +03:00 by kerem · 0 comments
Owner

📋 Pull Request Information

Original PR: https://github.com/shadps4-emu/shadPS4/pull/2932
Author: @squidbus
Created: 5/14/2025
Status: Merged
Merged: 5/15/2025
Merged by: @squidbus

Base: mainHead: no-winpthreads


📝 Commits (1)

  • 51bd0ee externals: Remove winpthreads.

📊 Changes

9 files changed (+346 additions, -257 deletions)

View changed files

📝 .gitmodules (+0 -4)
📝 CMakeLists.txt (+1 -8)
📝 externals/CMakeLists.txt (+0 -6)
externals/winpthreads (+0 -1)
📝 src/common/thread.cpp (+33 -6)
📝 src/common/thread.h (+3 -0)
📝 src/core/libraries/kernel/kernel.cpp (+3 -0)
📝 src/core/libraries/kernel/time.cpp (+301 -227)
📝 src/core/libraries/kernel/time.h (+5 -5)

📄 Description

  • Split out a new Common::PreciseSleep from Common::AccurateSleep. This implements an interruptible sleep with high precision, and AccurateSleep uses it to implement an uninterruptible sleep like before.
  • Reimplement nanosleep using the new PreciseSleep, and implement other sleep functions in terms of nanosleep similar to the real kernel library.
  • Provide a fill for clock_getres on Windows.
  • Remove winpthreads as, with these changes, it is no longer used.

Please test on various games for regressions given the new sleep implementations.


🔄 This issue represents a GitHub Pull Request. It cannot be merged through Gitea due to API limitations.

## 📋 Pull Request Information **Original PR:** https://github.com/shadps4-emu/shadPS4/pull/2932 **Author:** [@squidbus](https://github.com/squidbus) **Created:** 5/14/2025 **Status:** ✅ Merged **Merged:** 5/15/2025 **Merged by:** [@squidbus](https://github.com/squidbus) **Base:** `main` ← **Head:** `no-winpthreads` --- ### 📝 Commits (1) - [`51bd0ee`](https://github.com/shadps4-emu/shadPS4/commit/51bd0ee062c3c85ed59912f227c250f6608ee3fc) externals: Remove winpthreads. ### 📊 Changes **9 files changed** (+346 additions, -257 deletions) <details> <summary>View changed files</summary> 📝 `.gitmodules` (+0 -4) 📝 `CMakeLists.txt` (+1 -8) 📝 `externals/CMakeLists.txt` (+0 -6) ➖ `externals/winpthreads` (+0 -1) 📝 `src/common/thread.cpp` (+33 -6) 📝 `src/common/thread.h` (+3 -0) 📝 `src/core/libraries/kernel/kernel.cpp` (+3 -0) 📝 `src/core/libraries/kernel/time.cpp` (+301 -227) 📝 `src/core/libraries/kernel/time.h` (+5 -5) </details> ### 📄 Description * Split out a new `Common::PreciseSleep` from `Common::AccurateSleep`. This implements an interruptible sleep with high precision, and `AccurateSleep` uses it to implement an uninterruptible sleep like before. * Reimplement `nanosleep` using the new `PreciseSleep`, and implement other sleep functions in terms of `nanosleep` similar to the real kernel library. * Provide a fill for `clock_getres` on Windows. * Remove `winpthreads` as, with these changes, it is no longer used. Please test on various games for regressions given the new sleep implementations. --- <sub>🔄 This issue represents a GitHub Pull Request. It cannot be merged through Gitea due to API limitations.</sub>
kerem 2026-02-27 22:02:25 +03:00
Sign in to join this conversation.
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference
starred/shadPS4#3094
No description provided.