[common] use libc++ provided jthread instead of in-house one (which deadlocks on FBSD 14) #351

Merged
MaranBr merged 4 commits from liz-use-libcpp-jthread into master 2025-10-01 06:59:36 +02:00
Member

Needs test on our CI targets to see I didn't miss anything. Worried about android.

Signed-off-by: lizzie lizzie@eden-emu.dev

Needs test on our CI targets to see I didn't miss anything. Worried about android. Signed-off-by: lizzie <lizzie@eden-emu.dev>
Lizzie added 1 commit 2025-08-29 09:17:27 +02:00
[common] use libc++ provided jthread instead of in-house one (which deadlocks on FBSD 14)
Some checks failed
eden-license / license-header (pull_request) Failing after 22s
3416def3be
Signed-off-by: lizzie <lizzie@eden-emu.dev>
Lizzie added 1 commit 2025-08-29 12:55:30 +02:00
Fix license headers
All checks were successful
eden-license / license-header (pull_request) Successful in 22s
515aae378f
Lizzie force-pushed liz-use-libcpp-jthread from 515aae378f to f75a22bb6e 2025-08-30 00:47:33 +02:00 Compare
Lizzie force-pushed liz-use-libcpp-jthread from f75a22bb6e to 0808c7d004 2025-08-30 08:00:02 +02:00 Compare
Lizzie changed title from [common] use libc++ provided jthread instead of in-house one (which deadlocks on FBSD 14) to WIP: [common] use libc++ provided jthread instead of in-house one (which deadlocks on FBSD 14) 2025-08-30 15:19:29 +02:00
Author
Member

we need to update android libc++

we need to update android libc++
Lizzie force-pushed liz-use-libcpp-jthread from 0808c7d004 to 3409fe779e 2025-08-30 15:27:45 +02:00 Compare
Lizzie force-pushed liz-use-libcpp-jthread from 3409fe779e to 6f5d7e0844 2025-08-31 05:08:59 +02:00 Compare
Lizzie force-pushed liz-use-libcpp-jthread from 6f5d7e0844 to 14b0cd2904 2025-09-18 05:46:04 +02:00 Compare
Lizzie force-pushed liz-use-libcpp-jthread from 14b0cd2904 to b1ef551153 2025-09-18 18:09:25 +02:00 Compare
Owner

This didn't trigger CI for some reason.

This didn't trigger CI for some reason.
Owner

android failed

android failed
Author
Member

@crueter wrote in #351 (comment):

android failed

github.com/android/ndk/issues/1669

@crueter wrote in https://git.eden-emu.dev/eden-emu/eden/pulls/351#issuecomment-3944: > android failed github.com/android/ndk/issues/1669
Lizzie added 1 commit 2025-09-19 08:59:27 +02:00
[cmake] fix android?
All checks were successful
eden-license / license-header (pull_request) Successful in 16s
f4aa76bafb
Signed-off-by: lizzie <lizzie@eden-emu.dev>
Lizzie added 1 commit 2025-09-19 09:36:34 +02:00
[cmake] fix android once for all
All checks were successful
eden-license / license-header (pull_request) Successful in 16s
eba6823900
Signed-off-by: lizzie <lizzie@eden-emu.dev>
Lizzie force-pushed liz-use-libcpp-jthread from eba6823900 to 77c2e2bb20 2025-09-19 18:24:05 +02:00 Compare
Lizzie changed title from WIP: [common] use libc++ provided jthread instead of in-house one (which deadlocks on FBSD 14) to [common] use libc++ provided jthread instead of in-house one (which deadlocks on FBSD 14) 2025-09-20 15:03:03 +02:00
requested reviews from MaranBr, crueter, CamilleLaVey, Maufeat, MrPurple666 2025-09-20 15:03:03 +02:00
Lizzie force-pushed liz-use-libcpp-jthread from 77c2e2bb20 to 55d5afad33 2025-09-20 15:03:09 +02:00 Compare
Lizzie force-pushed liz-use-libcpp-jthread from 55d5afad33 to 4175fb2133 2025-09-21 18:58:39 +02:00 Compare
Lizzie force-pushed liz-use-libcpp-jthread from 4175fb2133 to e2322c7c6f 2025-09-22 18:03:25 +02:00 Compare
Lizzie force-pushed liz-use-libcpp-jthread from e2322c7c6f to e05b25c4f2 2025-09-22 18:43:16 +02:00 Compare
Lizzie force-pushed liz-use-libcpp-jthread from e05b25c4f2 to 8a5070b64b 2025-09-23 05:48:46 +02:00 Compare
Lizzie force-pushed liz-use-libcpp-jthread from 8a5070b64b to 7d1e9ab530 2025-09-24 02:23:40 +02:00 Compare
Lizzie force-pushed liz-use-libcpp-jthread from 7d1e9ab530 to ef47188d17 2025-09-24 19:51:25 +02:00 Compare
MaranBr approved these changes 2025-09-24 20:47:04 +02:00
Dismissed
MaranBr approved these changes 2025-09-24 21:19:57 +02:00
Dismissed
Lizzie force-pushed liz-use-libcpp-jthread from ef47188d17 to 2c8dbd95da 2025-09-24 22:18:45 +02:00 Compare
Lizzie force-pushed liz-use-libcpp-jthread from 2c8dbd95da to d8f2abd78d 2025-09-26 03:49:21 +02:00 Compare
Lizzie force-pushed liz-use-libcpp-jthread from d8f2abd78d to 672d6268f1 2025-09-26 04:45:59 +02:00 Compare
Lizzie force-pushed liz-use-libcpp-jthread from 672d6268f1 to 91697b11ea 2025-09-27 18:29:43 +02:00 Compare
Lizzie dismissed MaranBr's review 2025-09-27 18:29:43 +02:00
Reason:

New commits pushed, approval review dismissed automatically according to repository settings

Lizzie force-pushed liz-use-libcpp-jthread from 91697b11ea to f00e9af276 2025-09-28 04:14:18 +02:00 Compare
Owner

macOS

comp errors
/usr/bin/c++ -DARCHITECTURE_arm64=1 -DFMT_SHARED -DNDEBUG -DRAPIDJSON_ENDIAN=RAPIDJSON_LITTLEENDIAN -DYUZU_ROOM -DYUZU_UNIX=1 -I/Users/runner/work/Workflow/Workflow/src/. -I/Users/runner/work/Workflow/Workflow/build/src -I/Users/runner/work/Workflow/Workflow/externals/./stb -I/Users/runner/work/Workflow/Workflow/externals/./demangle -isystem /opt/homebrew/include -isystem /opt/homebrew/opt/lz4/include -isystem /opt/homebrew/opt/zstd/include -w -O3 -DNDEBUG -std=gnu++20 -flto=thin -arch arm64 -fwrapv -Werror=all -Werror=extra -Werror=missing-declarations -Werror=shadow -Werror=unused -Wno-attributes -Wno-invalid-offsetof -Wno-unused-parameter -Wno-missing-field-initializers -Werror=shadow-uncaptured-local -Werror=implicit-fallthrough -Werror=type-limits -Wno-braced-scalar-init -Wno-unused-private-field -Wno-nullability-completeness -MD -MT src/common/CMakeFiles/common.dir/logging/backend.cpp.o -MF src/common/CMakeFiles/common.dir/logging/backend.cpp.o.d -o src/common/CMakeFiles/common.dir/logging/backend.cpp.o -c /Users/runner/work/Workflow/Workflow/src/common/logging/backend.cpp
In file included from /Users/runner/work/Workflow/Workflow/src/common/logging/backend.cpp:25:
/Users/runner/work/Workflow/Workflow/src/./common/polyfill_thread.h:21:30: error: no type named 'stop_token' in namespace 'std'
   21 | bool StoppableTimedWait(std::stop_token token, const std::chrono::duration<Rep, Period>& rel_time) {
      |                         ~~~~~^
In file included from /Users/runner/work/Workflow/Workflow/src/common/logging/backend.cpp:26:
/Users/runner/work/Workflow/Workflow/src/./common/thread.h:76:20: error: no type named 'stop_token' in namespace 'std'
   76 |     bool Sync(std::stop_token token = {}) {
      |               ~~~~~^
In file included from /Users/runner/work/Workflow/Workflow/src/common/logging/backend.cpp:36:
/Users/runner/work/Workflow/Workflow/src/./common/bounded_threadsafe_queue.h:46:29: error: no type named 'stop_token' in namespace 'std'
   46 |     void PopWait(T& t, std::stop_token stop_token) {
      |                        ~~~~~^
/Users/runner/work/Workflow/Workflow/src/./common/bounded_threadsafe_queue.h:56:20: error: no type named 'stop_token' in namespace 'std'
   56 |     T PopWait(std::stop_token stop_token) {
      |               ~~~~~^
/Users/runner/work/Workflow/Workflow/src/./common/bounded_threadsafe_queue.h:112:42: error: no type named 'stop_token' in namespace 'std'
  112 |     bool Pop(T& t, [[maybe_unused]] std::stop_token stop_token = {}) {
      |                                     ~~~~~^
/Users/runner/work/Workflow/Workflow/src/./common/bounded_threadsafe_queue.h:189:29: error: no type named 'stop_token' in namespace 'std'
  189 |     void PopWait(T& t, std::stop_token stop_token) {
      |                        ~~~~~^
/Users/runner/work/Workflow/Workflow/src/./common/bounded_threadsafe_queue.h:197:20: error: no type named 'stop_token' in namespace 'std'
  197 |     T PopWait(std::stop_token stop_token) {
      |               ~~~~~^
/Users/runner/work/Workflow/Workflow/src/./common/bounded_threadsafe_queue.h:231:29: error: no type named 'stop_token' in namespace 'std'
  231 |     void PopWait(T& t, std::stop_token stop_token) {
      |                        ~~~~~^
/Users/runner/work/Workflow/Workflow/src/./common/bounded_threadsafe_queue.h:241:20: error: no type named 'stop_token' in namespace 'std'
  241 |     T PopWait(std::stop_token stop_token) {
      |               ~~~~~^
/Users/runner/work/Workflow/Workflow/src/common/logging/backend.cpp:339:10: error: no type named 'jthread' in namespace 'std'; did you mean 'thread'?
  339 |     std::jthread backend_thread;
      |     ~~~~~^~~~~~~
      |          thread
/Applications/Xcode_16.4.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/usr/include/c++/v1/__thread/thread.h:150:33: note: 'thread' declared here
  150 | class _LIBCPP_EXPORTED_FROM_ABI thread {
      |                                 ^
/Users/runner/work/Workflow/Workflow/src/common/logging/backend.cpp:267:51: error: no type named 'stop_token' in namespace 'std'
  267 |         backend_thread = std::jthread([this](std::stop_token stop_token) {
      |                                              ~~~~~^
/Users/runner/work/Workflow/Workflow/src/common/logging/backend.cpp:267:31: error: no member named 'jthread' in namespace 'std'
  267 |         backend_thread = std::jthread([this](std::stop_token stop_token) {
      |                          ~~~~~^
/Users/runner/work/Workflow/Workflow/src/common/logging/backend.cpp:275:21: error: variable 'entry' cannot be implicitly captured in a lambda with no capture-default specified
  275 |                 if (entry.filename != nullptr) {
      |                     ^
/Users/runner/work/Workflow/Workflow/src/common/logging/backend.cpp:267:74: note: while substituting into a lambda expression here
  267 |         backend_thread = std::jthread([this](std::stop_token stop_token) {
      |                                                                          ^
/Users/runner/work/Workflow/Workflow/src/common/logging/backend.cpp:269:19: note: 'entry' declared here
  269 |             Entry entry;
      |                   ^
/Users/runner/work/Workflow/Workflow/src/common/logging/backend.cpp:267:39: note: lambda expression begins here
  267 |         backend_thread = std::jthread([this](std::stop_token stop_token) {
      |                                       ^
/Users/runner/work/Workflow/Workflow/src/common/logging/backend.cpp:267:44: note: capture 'entry' by value
  267 |         backend_thread = std::jthread([this](std::stop_token stop_token) {
      |                                            ^
      |                                            , entry
/Users/runner/work/Workflow/Workflow/src/common/logging/backend.cpp:267:44: note: capture 'entry' by reference
  267 |         backend_thread = std::jthread([this](std::stop_token stop_token) {
      |                                            ^
      |                                            , &entry
/Users/runner/work/Workflow/Workflow/src/common/logging/backend.cpp:267:40: note: default capture by value
  267 |         backend_thread = std::jthread([this](std::stop_token stop_token) {
      |                                        ^
      |                                        =, 
/Users/runner/work/Workflow/Workflow/src/common/logging/backend.cpp:267:40: note: default capture by reference
  267 |         backend_thread = std::jthread([this](std::stop_token stop_token) {
      |                                        ^
      |                                        &, 
/Users/runner/work/Workflow/Workflow/src/common/logging/backend.cpp:276:21: error: variable 'write_logs' cannot be implicitly captured in a lambda with no capture-default specified
  276 |                     write_logs();
      |                     ^
/Users/runner/work/Workflow/Workflow/src/common/logging/backend.cpp:270:24: note: 'write_logs' declared here
  270 |             const auto write_logs = [this, &entry]() {
      |                        ^
/Users/runner/work/Workflow/Workflow/src/common/logging/backend.cpp:267:39: note: lambda expression begins here
  267 |         backend_thread = std::jthread([this](std::stop_token stop_token) {
      |                                       ^
/Users/runner/work/Workflow/Workflow/src/common/logging/backend.cpp:267:44: note: capture 'write_logs' by value
  267 |         backend_thread = std::jthread([this](std::stop_token stop_token) {
      |                                            ^
      |                                            , write_logs
/Users/runner/work/Workflow/Workflow/src/common/logging/backend.cpp:267:44: note: capture 'write_logs' by reference
  267 |         backend_thread = std::jthread([this](std::stop_token stop_token) {
      |                                            ^
      |                                            , &write_logs
/Users/runner/work/Workflow/Workflow/src/common/logging/backend.cpp:267:40: note: default capture by value
  267 |         backend_thread = std::jthread([this](std::stop_token stop_token) {
      |                                        ^
      |                                        =, 
/Users/runner/work/Workflow/Workflow/src/common/logging/backend.cpp:267:40: note: default capture by reference
  267 |         backend_thread = std::jthread([this](std::stop_token stop_token) {
      |                                        ^
      |                                        &, 
/Users/runner/work/Workflow/Workflow/src/common/logging/backend.cpp:283:17: error: variable 'write_logs' cannot be implicitly captured in a lambda with no capture-default specified
  283 |                 write_logs();
      |                 ^
/Users/runner/work/Workflow/Workflow/src/common/logging/backend.cpp:270:24: note: 'write_logs' declared here
  270 |             const auto write_logs = [this, &entry]() {
      |                        ^
/Users/runner/work/Workflow/Workflow/src/common/logging/backend.cpp:267:39: note: lambda expression begins here
  267 |         backend_thread = std::jthread([this](std::stop_token stop_token) {
      |                                       ^
/Users/runner/work/Workflow/Workflow/src/common/logging/backend.cpp:267:44: note: capture 'write_logs' by value
  267 |         backend_thread = std::jthread([this](std::stop_token stop_token) {
      |                                            ^
      |                                            , write_logs
/Users/runner/work/Workflow/Workflow/src/common/logging/backend.cpp:267:44: note: capture 'write_logs' by reference
  267 |         backend_thread = std::jthread([this](std::stop_token stop_token) {
      |                                            ^
      |                                            , &write_logs
/Users/runner/work/Workflow/Workflow/src/common/logging/backend.cpp:267:40: note: default capture by value
  267 |         backend_thread = std::jthread([this](std::stop_token stop_token) {
      |                                        ^
      |                                        =, 
/Users/runner/work/Workflow/Workflow/src/common/logging/backend.cpp:267:40: note: default capture by reference
  267 |         backend_thread = std::jthread([this](std::stop_token stop_token) {
      |                                        ^
      |                                        &, 
/Users/runner/work/Workflow/Workflow/src/common/logging/backend.cpp:289:24: error: no member named 'request_stop' in 'std::thread'
  289 |         backend_thread.request_stop();
      |         ~~~~~~~~~~~~~~ ^
macOS <details> <summary>comp errors</summary> ``` /usr/bin/c++ -DARCHITECTURE_arm64=1 -DFMT_SHARED -DNDEBUG -DRAPIDJSON_ENDIAN=RAPIDJSON_LITTLEENDIAN -DYUZU_ROOM -DYUZU_UNIX=1 -I/Users/runner/work/Workflow/Workflow/src/. -I/Users/runner/work/Workflow/Workflow/build/src -I/Users/runner/work/Workflow/Workflow/externals/./stb -I/Users/runner/work/Workflow/Workflow/externals/./demangle -isystem /opt/homebrew/include -isystem /opt/homebrew/opt/lz4/include -isystem /opt/homebrew/opt/zstd/include -w -O3 -DNDEBUG -std=gnu++20 -flto=thin -arch arm64 -fwrapv -Werror=all -Werror=extra -Werror=missing-declarations -Werror=shadow -Werror=unused -Wno-attributes -Wno-invalid-offsetof -Wno-unused-parameter -Wno-missing-field-initializers -Werror=shadow-uncaptured-local -Werror=implicit-fallthrough -Werror=type-limits -Wno-braced-scalar-init -Wno-unused-private-field -Wno-nullability-completeness -MD -MT src/common/CMakeFiles/common.dir/logging/backend.cpp.o -MF src/common/CMakeFiles/common.dir/logging/backend.cpp.o.d -o src/common/CMakeFiles/common.dir/logging/backend.cpp.o -c /Users/runner/work/Workflow/Workflow/src/common/logging/backend.cpp In file included from /Users/runner/work/Workflow/Workflow/src/common/logging/backend.cpp:25: /Users/runner/work/Workflow/Workflow/src/./common/polyfill_thread.h:21:30: error: no type named 'stop_token' in namespace 'std' 21 | bool StoppableTimedWait(std::stop_token token, const std::chrono::duration<Rep, Period>& rel_time) { | ~~~~~^ In file included from /Users/runner/work/Workflow/Workflow/src/common/logging/backend.cpp:26: /Users/runner/work/Workflow/Workflow/src/./common/thread.h:76:20: error: no type named 'stop_token' in namespace 'std' 76 | bool Sync(std::stop_token token = {}) { | ~~~~~^ In file included from /Users/runner/work/Workflow/Workflow/src/common/logging/backend.cpp:36: /Users/runner/work/Workflow/Workflow/src/./common/bounded_threadsafe_queue.h:46:29: error: no type named 'stop_token' in namespace 'std' 46 | void PopWait(T& t, std::stop_token stop_token) { | ~~~~~^ /Users/runner/work/Workflow/Workflow/src/./common/bounded_threadsafe_queue.h:56:20: error: no type named 'stop_token' in namespace 'std' 56 | T PopWait(std::stop_token stop_token) { | ~~~~~^ /Users/runner/work/Workflow/Workflow/src/./common/bounded_threadsafe_queue.h:112:42: error: no type named 'stop_token' in namespace 'std' 112 | bool Pop(T& t, [[maybe_unused]] std::stop_token stop_token = {}) { | ~~~~~^ /Users/runner/work/Workflow/Workflow/src/./common/bounded_threadsafe_queue.h:189:29: error: no type named 'stop_token' in namespace 'std' 189 | void PopWait(T& t, std::stop_token stop_token) { | ~~~~~^ /Users/runner/work/Workflow/Workflow/src/./common/bounded_threadsafe_queue.h:197:20: error: no type named 'stop_token' in namespace 'std' 197 | T PopWait(std::stop_token stop_token) { | ~~~~~^ /Users/runner/work/Workflow/Workflow/src/./common/bounded_threadsafe_queue.h:231:29: error: no type named 'stop_token' in namespace 'std' 231 | void PopWait(T& t, std::stop_token stop_token) { | ~~~~~^ /Users/runner/work/Workflow/Workflow/src/./common/bounded_threadsafe_queue.h:241:20: error: no type named 'stop_token' in namespace 'std' 241 | T PopWait(std::stop_token stop_token) { | ~~~~~^ /Users/runner/work/Workflow/Workflow/src/common/logging/backend.cpp:339:10: error: no type named 'jthread' in namespace 'std'; did you mean 'thread'? 339 | std::jthread backend_thread; | ~~~~~^~~~~~~ | thread /Applications/Xcode_16.4.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/usr/include/c++/v1/__thread/thread.h:150:33: note: 'thread' declared here 150 | class _LIBCPP_EXPORTED_FROM_ABI thread { | ^ /Users/runner/work/Workflow/Workflow/src/common/logging/backend.cpp:267:51: error: no type named 'stop_token' in namespace 'std' 267 | backend_thread = std::jthread([this](std::stop_token stop_token) { | ~~~~~^ /Users/runner/work/Workflow/Workflow/src/common/logging/backend.cpp:267:31: error: no member named 'jthread' in namespace 'std' 267 | backend_thread = std::jthread([this](std::stop_token stop_token) { | ~~~~~^ /Users/runner/work/Workflow/Workflow/src/common/logging/backend.cpp:275:21: error: variable 'entry' cannot be implicitly captured in a lambda with no capture-default specified 275 | if (entry.filename != nullptr) { | ^ /Users/runner/work/Workflow/Workflow/src/common/logging/backend.cpp:267:74: note: while substituting into a lambda expression here 267 | backend_thread = std::jthread([this](std::stop_token stop_token) { | ^ /Users/runner/work/Workflow/Workflow/src/common/logging/backend.cpp:269:19: note: 'entry' declared here 269 | Entry entry; | ^ /Users/runner/work/Workflow/Workflow/src/common/logging/backend.cpp:267:39: note: lambda expression begins here 267 | backend_thread = std::jthread([this](std::stop_token stop_token) { | ^ /Users/runner/work/Workflow/Workflow/src/common/logging/backend.cpp:267:44: note: capture 'entry' by value 267 | backend_thread = std::jthread([this](std::stop_token stop_token) { | ^ | , entry /Users/runner/work/Workflow/Workflow/src/common/logging/backend.cpp:267:44: note: capture 'entry' by reference 267 | backend_thread = std::jthread([this](std::stop_token stop_token) { | ^ | , &entry /Users/runner/work/Workflow/Workflow/src/common/logging/backend.cpp:267:40: note: default capture by value 267 | backend_thread = std::jthread([this](std::stop_token stop_token) { | ^ | =, /Users/runner/work/Workflow/Workflow/src/common/logging/backend.cpp:267:40: note: default capture by reference 267 | backend_thread = std::jthread([this](std::stop_token stop_token) { | ^ | &, /Users/runner/work/Workflow/Workflow/src/common/logging/backend.cpp:276:21: error: variable 'write_logs' cannot be implicitly captured in a lambda with no capture-default specified 276 | write_logs(); | ^ /Users/runner/work/Workflow/Workflow/src/common/logging/backend.cpp:270:24: note: 'write_logs' declared here 270 | const auto write_logs = [this, &entry]() { | ^ /Users/runner/work/Workflow/Workflow/src/common/logging/backend.cpp:267:39: note: lambda expression begins here 267 | backend_thread = std::jthread([this](std::stop_token stop_token) { | ^ /Users/runner/work/Workflow/Workflow/src/common/logging/backend.cpp:267:44: note: capture 'write_logs' by value 267 | backend_thread = std::jthread([this](std::stop_token stop_token) { | ^ | , write_logs /Users/runner/work/Workflow/Workflow/src/common/logging/backend.cpp:267:44: note: capture 'write_logs' by reference 267 | backend_thread = std::jthread([this](std::stop_token stop_token) { | ^ | , &write_logs /Users/runner/work/Workflow/Workflow/src/common/logging/backend.cpp:267:40: note: default capture by value 267 | backend_thread = std::jthread([this](std::stop_token stop_token) { | ^ | =, /Users/runner/work/Workflow/Workflow/src/common/logging/backend.cpp:267:40: note: default capture by reference 267 | backend_thread = std::jthread([this](std::stop_token stop_token) { | ^ | &, /Users/runner/work/Workflow/Workflow/src/common/logging/backend.cpp:283:17: error: variable 'write_logs' cannot be implicitly captured in a lambda with no capture-default specified 283 | write_logs(); | ^ /Users/runner/work/Workflow/Workflow/src/common/logging/backend.cpp:270:24: note: 'write_logs' declared here 270 | const auto write_logs = [this, &entry]() { | ^ /Users/runner/work/Workflow/Workflow/src/common/logging/backend.cpp:267:39: note: lambda expression begins here 267 | backend_thread = std::jthread([this](std::stop_token stop_token) { | ^ /Users/runner/work/Workflow/Workflow/src/common/logging/backend.cpp:267:44: note: capture 'write_logs' by value 267 | backend_thread = std::jthread([this](std::stop_token stop_token) { | ^ | , write_logs /Users/runner/work/Workflow/Workflow/src/common/logging/backend.cpp:267:44: note: capture 'write_logs' by reference 267 | backend_thread = std::jthread([this](std::stop_token stop_token) { | ^ | , &write_logs /Users/runner/work/Workflow/Workflow/src/common/logging/backend.cpp:267:40: note: default capture by value 267 | backend_thread = std::jthread([this](std::stop_token stop_token) { | ^ | =, /Users/runner/work/Workflow/Workflow/src/common/logging/backend.cpp:267:40: note: default capture by reference 267 | backend_thread = std::jthread([this](std::stop_token stop_token) { | ^ | &, /Users/runner/work/Workflow/Workflow/src/common/logging/backend.cpp:289:24: error: no member named 'request_stop' in 'std::thread' 289 | backend_thread.request_stop(); | ~~~~~~~~~~~~~~ ^ ``` </details>
Author
Member

@crueter wrote in #351 (comment):

macOS
comp errors

Cmake issue let me fix

@crueter wrote in https://git.eden-emu.dev/eden-emu/eden/pulls/351#issuecomment-5070: > macOS > comp errors Cmake issue let me fix
Lizzie added 1 commit 2025-09-28 04:22:41 +02:00
fix apple
All checks were successful
eden-license / license-header (pull_request) Successful in 25s
555dcce9f6
Signed-off-by: lizzie <lizzie@eden-emu.dev>
Lizzie force-pushed liz-use-libcpp-jthread from 555dcce9f6 to c0765905dc 2025-09-28 20:22:41 +02:00 Compare
Lizzie force-pushed liz-use-libcpp-jthread from c0765905dc to c1120d38dc 2025-09-29 18:54:59 +02:00 Compare
Lizzie force-pushed liz-use-libcpp-jthread from c1120d38dc to a7c88f009e 2025-09-30 03:08:41 +02:00 Compare
CamilleLaVey approved these changes 2025-09-30 03:13:36 +02:00
DraVee approved these changes 2025-09-30 03:15:26 +02:00
DraVee left a comment
Member

Tested on Linux, no regression on speed (tested 2 times againt master)

Tested on Linux, no regression on speed (tested 2 times againt master)
Lizzie force-pushed liz-use-libcpp-jthread from a7c88f009e to f04d34e167 2025-10-01 00:13:55 +02:00 Compare
MaranBr force-pushed liz-use-libcpp-jthread from f04d34e167 to 86ae3773f7 2025-10-01 06:58:39 +02:00 Compare
MaranBr approved these changes 2025-10-01 06:58:46 +02:00
MaranBr merged commit dfe10bc851 into master 2025-10-01 06:59:36 +02:00
MaranBr deleted branch liz-use-libcpp-jthread 2025-10-01 06:59:37 +02:00
Sign in to join this conversation.
No description provided.