#
06f265f6 |
| 16-Aug-2024 |
Patrick Williams <patrick@stwcx.xyz> |
clang-format: re-format for clang-18
clang-format-18 isn't compatible with the clang-format-17 output, so we need to reformat the code with the latest version. The way clang-18 handles lambda forma
clang-format: re-format for clang-18
clang-format-18 isn't compatible with the clang-format-17 output, so we need to reformat the code with the latest version. The way clang-18 handles lambda formatting also changed, so we have made changes to the organization default style format to better handle lambda formatting.
See I5e08687e696dd240402a2780158664b7113def0e for updated style. See Iea0776aaa7edd483fa395e23de25ebf5a6288f71 for clang-18 enablement.
Change-Id: I4f63258febea27dae710c252033b9151e02be7e8 Signed-off-by: Patrick Williams <patrick@stwcx.xyz>
show more ...
|
#
5c50fc66 |
| 05-Apr-2023 |
Patrick Williams <patrick@stwcx.xyz> |
event: prevent potential deadlock
In the `obtain_lock<true>()` path there is a race in which another thread can run after the `run_condition.signal()` call before the mutex lock call is executed. T
event: prevent potential deadlock
In the `obtain_lock<true>()` path there is a race in which another thread can run after the `run_condition.signal()` call before the mutex lock call is executed. This other thread could run a significant amount of code, including coming around to be back in the `run_one` path.
To prevent this behavior, add a stage to the lock so that there is an ordering such that the signalling thread is ensured to get the primary lock before the signalled thread.
Signed-off-by: Patrick Williams <patrick@stwcx.xyz> Change-Id: Ia464a95ed55246a67ed87601275a6e1fa8b16ba3
show more ...
|
#
29c4d435 |
| 01-Feb-2023 |
Patrick Williams <patrick@stwcx.xyz> |
event: add unistd header
The file uses `write` which is defined in `unistd.h`. Add it to give more coverage to various compiler and stdlib versions.
Signed-off-by: Patrick Williams <patrick@stwcx.
event: add unistd header
The file uses `write` which is defined in `unistd.h`. Add it to give more coverage to various compiler and stdlib versions.
Signed-off-by: Patrick Williams <patrick@stwcx.xyz> Change-Id: Icbef43f3b6b89f0ff3cdfb84ad5fa1c695562dbb
show more ...
|
#
435eb1bd |
| 16-Sep-2022 |
Patrick Williams <patrick@stwcx.xyz> |
async: add sleep_for sender
Sometimes it is useful to do the equivalent of `std::this_thread::sleep_for` in a co-routine context. Add a sender-based implementation to async.
Signed-off-by: Patrick
async: add sleep_for sender
Sometimes it is useful to do the equivalent of `std::this_thread::sleep_for` in a co-routine context. Add a sender-based implementation to async.
Signed-off-by: Patrick Williams <patrick@stwcx.xyz> Change-Id: I9991eb40b7a1b12e61511f1200bc99fdcdbccf0a
show more ...
|
#
3ce3159b |
| 16-Sep-2022 |
Patrick Williams <patrick@stwcx.xyz> |
event: add oneshot timer support
Signed-off-by: Patrick Williams <patrick@stwcx.xyz> Change-Id: I9785fa52e38202821258ad162e6f9168c71e53f7
|
#
d2b00440 |
| 16-Sep-2022 |
Patrick Williams <patrick@stwcx.xyz> |
event: add a simple wrapper around sd-event
In order to facilitate stop-conditions on the async::context, we need to be able to escape the wait on the dbus fd. sd-event will allow us to do this and
event: add a simple wrapper around sd-event
In order to facilitate stop-conditions on the async::context, we need to be able to escape the wait on the dbus fd. sd-event will allow us to do this and also build other co-routine primitives in the future (such as `co_await async::delay(1s)` backed by sd-event timers). Define a simple wrapper around sd-event here which can be leveraged by the async framework.
Signed-off-by: Patrick Williams <patrick@stwcx.xyz> Change-Id: I945416cbce3c98d98135c42cb7ca249a57cb9a60
show more ...
|