[committed] libstdc++: Make Networking TS work without gthreads [PR 89760]
Jonathan Wakely
jwakely@redhat.com
Tue Aug 11 16:04:11 GMT 2020
On 11/08/20 16:38 +0100, Jonathan Wakely wrote:
>Make the experimental Networking TS code work without std::mutex and
>std::condition_variable.
>
>libstdc++-v3/ChangeLog:
>
> PR libstdc++/89760
> * include/experimental/executor [!_GLIBCXX_HAS_GTHREADS]:
> (execution_context::mutex_type): Define dummy mutex type.
> (system_context): Use execution_context::mutex_type.
> (system_context) [!_GLIBCXX_HAS_GTHREADS]: Define dummy
> thread and condition variable types.
> [!_GLIBCXX_HAS_GTHREADS] (system_context::_M_run()): Do not
> define.
> (system_context::_M_post) [!_GLIBCXX_HAS_GTHREADS]: Throw
> an exception when threads aren't available.
> (strand::running_in_this_thread()): Defer to _M_state.
> (strand::_State::running_in_this_thread()): New function.
> (use_future_t): Do not depend on _GLIBCXX_USE_C99_STDINT_TR1.
> * include/experimental/io_context (io_context): Use the
> execution_context::mutex_type alias. Replace stack of thread
> IDs with counter.
> * testsuite/experimental/net/execution_context/use_service.cc:
> Enable test for non-pthread targets.
For the branches I'm just making the tests depend on gthreads.
Tested x86_64-linux, with both --enable-threads and --disable-threads.
Committed to trunk.
-------------- next part --------------
A non-text attachment was scrubbed...
Name: patch.txt
Type: text/x-patch
Size: 8564 bytes
Desc: not available
URL: <https://gcc.gnu.org/pipermail/gcc-patches/attachments/20200811/b627dae6/attachment.bin>
More information about the Gcc-patches
mailing list