xref: /aosp_15_r20/external/pigweed/pw_thread_stl/docs.rst (revision 61c4878ac05f98d0ceed94b57d316916de578985)
1*61c4878aSAndroid Build Coastguard Worker.. _module-pw_thread_stl:
2*61c4878aSAndroid Build Coastguard Worker
3*61c4878aSAndroid Build Coastguard Worker=============
4*61c4878aSAndroid Build Coastguard Workerpw_thread_stl
5*61c4878aSAndroid Build Coastguard Worker=============
6*61c4878aSAndroid Build Coastguard WorkerThis is a set of backends for pw_thread based on the C++ STL.
7*61c4878aSAndroid Build Coastguard Worker
8*61c4878aSAndroid Build Coastguard Worker-------------------
9*61c4878aSAndroid Build Coastguard WorkerCompatibility notes
10*61c4878aSAndroid Build Coastguard Worker-------------------
11*61c4878aSAndroid Build Coastguard WorkerWindows
12*61c4878aSAndroid Build Coastguard Worker=======
13*61c4878aSAndroid Build Coastguard Worker* `b/317922402 <https://issues.pigweed.dev/317922402>`_\:
14*61c4878aSAndroid Build Coastguard Worker  ``pw::Thread::detach()`` can cause indefinite hangs on Windows targets. For
15*61c4878aSAndroid Build Coastguard Worker  now, this functionality has been disabled. Attempting to detach a thread on
16*61c4878aSAndroid Build Coastguard Worker  Windows will cause the following link-time error to be emitted:
17*61c4878aSAndroid Build Coastguard Worker
18*61c4878aSAndroid Build Coastguard Worker  .. code-block::
19*61c4878aSAndroid Build Coastguard Worker
20*61c4878aSAndroid Build Coastguard Worker     ld.exe: pw_strict_host_gcc_debug/obj/pw_thread/test_thread_context_facade_test.lib.test_thread_context_facade_test.cc.o: in function `pw::Thread::detach()':
21*61c4878aSAndroid Build Coastguard Worker     pw_thread_stl/public/pw_thread_stl/thread_inline.h:55: undefined reference to `pw::thread::internal::ErrorAttemptedToInvokeStdThreadDetachOnMinGW()'
22