commit | 8050957fa9ef835ede9aa63671ac805260dc979b | [log] [tgz] |
---|---|---|
author | Wyatt Hepler <hepler@google.com> | Tue Jan 24 02:46:14 2023 +0000 |
committer | CQ Bot Account <pigweed-scoped@luci-project-accounts.iam.gserviceaccount.com> | Tue Jan 24 02:46:14 2023 +0000 |
tree | 29cac85974c6eead0bf3a4c591c31ca88e831807 | |
parent | cd4481c13b0fb360b3cf35251cd05083bf58154c [diff] |
pw_rpc: Add function for yielding the RPC lock in C++ Upcoming CLs will require threads to yield the RPC lock while waiting for a different thread to finish executing an RPC callback. - Add a config option for selecting how to yield (busy loop, pw::this_thread::sleep_for(), pw::this_thread::yield()). - Add dependencies on pw_thread if backends are defined. - Have the pw_rpc:disable_global_mutex config select the busy loop yield approach, since platforms with the mutex disabled either do not support threading or exclusively use RPC from one thread. - Disable the RPC lock on a few platforms with no RTOS. Change-Id: I94517d66e04b51b95a911adac560426ee3683388 Reviewed-on: https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/126751 Commit-Queue: Auto-Submit <auto-submit@pigweed.google.com.iam.gserviceaccount.com> Reviewed-by: Alexei Frolov <frolv@google.com> Pigweed-Auto-Submit: Wyatt Hepler <hepler@google.com>
Pigweed is an open source collection of embedded-targeted libraries–or as we like to call them, modules. These modules are building blocks and infrastructure that enable faster and more reliable development on small-footprint MMU-less 32-bit microcontrollers like the STMicroelectronics STM32L452 or the Nordic nRF52832.
For more information please see our website: https://pigweed.dev/.