36137e09 | 18-Dec-2024 |
Patrick Williams <patrick@stwcx.xyz> |
clang-format: re-format for clang-19
clang-format-19 isn't compatible with the clang-format-18 output, so we need to reformat the code with the latest version. A few parameters in clang-tidy have b
clang-format: re-format for clang-19
clang-format-19 isn't compatible with the clang-format-18 output, so we need to reformat the code with the latest version. A few parameters in clang-tidy have been deprecated, so adjust the style file accordingly.
See Ie2f6eb3b043f2d655c9df806815afd7971fd0947 for updated style. See I88192b41ab7a95599a90915013579608af7bc56f for clang-19 enablement.
Change-Id: I65cb0501917fee37f007ed97ce973e0dd07170fa Signed-off-by: Patrick Williams <patrick@stwcx.xyz>
show more ...
|
f083bc1a | 16-Dec-2024 |
Patrick Williams <patrick@stwcx.xyz> |
stdexec: update to latest commit
Signed-off-by: Patrick Williams <patrick@stwcx.xyz> Change-Id: I93e33afb0ca87f425074e86f87e6cde320f20dbc |
869230c6 | 12-Dec-2024 |
Patrick Williams <patrick@stwcx.xyz> |
async: fdio: remove unused member
clang warns about an unused private field ('fd') because it is a capture-only member. There isn't any reason to keep the fd around once the underlying sd_event has
async: fdio: remove unused member
clang warns about an unused private field ('fd') because it is a capture-only member. There isn't any reason to keep the fd around once the underlying sd_event has been created, so remove it as a member.
Signed-off-by: Patrick Williams <patrick@stwcx.xyz> Change-Id: I176b2c4b53bbd7e4bb4bc9a9594f5816ee1bda2e
show more ...
|
2a12ae12 | 23-Oct-2024 |
Jagpal Singh Gill <paligill@gmail.com> |
add async fd sender receiver for coroutines
Add async sender receiver for file descriptor based events. The user of the async file descriptor needs to initialize a fdio instance and then call next()
add async fd sender receiver for coroutines
Add async sender receiver for file descriptor based events. The user of the async file descriptor needs to initialize a fdio instance and then call next() to get each new event for the fd.
Tested: ``` > meson test -C builddir test_async_fdio ninja: Entering directory `/host/repos/sdbusplus/builddir' ninja: no work to do. 1/1 test_async_fdio OK 6.01s
Ok: 1 Expected Fail: 0 Fail: 0 Unexpected Pass: 0 Skipped: 0 Timeout: 0
Full log written to /host/repos/sdbusplus/builddir/meson-logs/testlog.txt ```
Change-Id: I1b4f16963e6096f30484c4a6df471e64ed24448b Signed-off-by: Jagpal Singh Gill <paligill@gmail.com>
show more ...
|
b08d14dd | 05-Nov-2024 |
Patrick Williams <patrick@stwcx.xyz> |
sdbus++: events: unpack an event from JSON
Generate code necessary to unpack a generated event from its JSON representation.
Signed-off-by: Patrick Williams <patrick@stwcx.xyz> Change-Id: I7a28617f
sdbus++: events: unpack an event from JSON
Generate code necessary to unpack a generated event from its JSON representation.
Signed-off-by: Patrick Williams <patrick@stwcx.xyz> Change-Id: I7a28617f3f0374968609328a44587b655a9141c1
show more ...
|
578b9733 | 11-Oct-2024 |
Patrick Williams <patrick@stwcx.xyz> |
bus: add error handling for bus-open calls
sd-bus can return ENOMEDIUM in some cases for bus-open calls, so we need to detect this condition rather than blindly ignoring the return value. Add appro
bus: add error handling for bus-open calls
sd-bus can return ENOMEDIUM in some cases for bus-open calls, so we need to detect this condition rather than blindly ignoring the return value. Add appropriate error handling.
Tested: ``` $ sudo builddir/example/calculator-server Password: terminate called after throwing an instance of 'sdbusplus::exception::SdBusError' what(): sdbusplus::bus::bus sdbusplus::bus::new_default(): System.Error.ENOMEDIUM: No medium found zsh: IOT instruction sudo builddir/example/calculator-server ```
Signed-off-by: Patrick Williams <patrick@stwcx.xyz> Change-Id: I7b82a9e182f21a1cbbb80fc3dbfeaaa0174a369d
show more ...
|
fc0bb996 | 11-Oct-2024 |
Patrick Williams <patrick@stwcx.xyz> |
bus: un-inline functions
Due to additional upstream error results, the bus creation functions need better error handling. This will result in larger functions that are no longer a direct sd-bus cal
bus: un-inline functions
Due to additional upstream error results, the bus creation functions need better error handling. This will result in larger functions that are no longer a direct sd-bus call and probably shouldn't be inlined. Move the functions to the `bus.cpp` file.
Signed-off-by: Patrick Williams <patrick@stwcx.xyz> Change-Id: If141ef74a62fd04b3bbf58b0720da2a9410481a7
show more ...
|
a4bfefde | 24-Sep-2024 |
Patrick Williams <patrick@stwcx.xyz> |
exception: move sd_bus_error_set calls to exception
In the future, generated exceptions will need to fill the sd_error with something other than the "description" in order to pass more metadata. Mo
exception: move sd_bus_error_set calls to exception
In the future, generated exceptions will need to fill the sd_error with something other than the "description" in order to pass more metadata. Move the sd_bus_error_set calls to exception as a virtual function so this can be accomplished.
Signed-off-by: Patrick Williams <patrick@stwcx.xyz> Change-Id: I6e6947e4977701a8e7e27fef119bd35e837d866b
show more ...
|
8d40adad | 22-Aug-2024 |
Igor Kononenko <i.kononenko.e@gmail.com> |
transaction: fix -Wconversion c++ warning
Building sdbusplus by meson subproject as a part of external project contains compile warning which can be interpreted as compile error (if external project
transaction: fix -Wconversion c++ warning
Building sdbusplus by meson subproject as a part of external project contains compile warning which can be interpreted as compile error (if external project defines both `-Werror` and `-Wconversion`)
Changing the `Transaction::time` property type to the appropriate `std::time_t` will solve the issue.
Change-Id: I9ab42472ff361aab9487c73d7804531151986e4c Signed-off-by: Igor Kononenko <i.kononenko.e@gmail.com>
show more ...
|
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 ...
|
e0698be8 | 14-Jun-2024 |
Patrick Williams <patrick@stwcx.xyz> |
object_path: fix potential buffer overrun
The `filename` function attempted to look at the first character of a substring, which could have been empty. This was noticed by UBSAN in GCC 13.2.
Signe
object_path: fix potential buffer overrun
The `filename` function attempted to look at the first character of a substring, which could have been empty. This was noticed by UBSAN in GCC 13.2.
Signed-off-by: Patrick Williams <patrick@stwcx.xyz> Change-Id: I7397861b6b19ef86d1c5c01dc1007a8804d08ab6
show more ...
|
e8e6631b | 01-Dec-2023 |
Patrick Williams <patrick@stwcx.xyz> |
async: context: use transfer instead of schedule
Later revisions of the stdexec proposal added a `transfer` method that allows us to reduce 1 co_await.
Signed-off-by: Patrick Williams <patrick@stwc
async: context: use transfer instead of schedule
Later revisions of the stdexec proposal added a `transfer` method that allows us to reduce 1 co_await.
Signed-off-by: Patrick Williams <patrick@stwcx.xyz> Change-Id: If43877a85254b5572cc2a3a1cacdf6b580870b5a
show more ...
|
bbc181e3 | 16-Nov-2023 |
Patrick Williams <patrick@stwcx.xyz> |
async: context: clean up TODO
The latest version of stdexec cleans up an issue we were seeing that was marked with a TODO. Switch from a complicated task structure back to the simple `task<>`.
Sig
async: context: clean up TODO
The latest version of stdexec cleans up an issue we were seeing that was marked with a TODO. Switch from a complicated task structure back to the simple `task<>`.
Signed-off-by: Patrick Williams <patrick@stwcx.xyz> Change-Id: Ibe2a73b1e7d172f829308a12c88749db43354e83
show more ...
|
6db88387 | 20-Oct-2023 |
Patrick Williams <patrick@stwcx.xyz> |
clang-format: copy latest and re-format
clang-format-17 has some backwards incompatible changes that require additional settings for best compatibility and re-running the formatter. Copy the latest
clang-format: copy latest and re-format
clang-format-17 has some backwards incompatible changes that require additional settings for best compatibility and re-running the formatter. Copy the latest .clang-format from the docs repository and reformat the repository.
Change-Id: I1d7d35c8035993df4c164bfb055d3be476d3ea84 Signed-off-by: Patrick Williams <patrick@stwcx.xyz>
show more ...
|
1ee60d6d | 18-Aug-2023 |
Patrick Williams <patrick@stwcx.xyz> |
async: context: add implicit conversion to bus_t
Many existing sdbusplus library calls expect a `bus_t`. Add an implicit conversion to `bus_t&` so that a `context_t&` can be passed into any functio
async: context: add implicit conversion to bus_t
Many existing sdbusplus library calls expect a `bus_t`. Add an implicit conversion to `bus_t&` so that a `context_t&` can be passed into any function that formerly accepted a `bus_t&`.
Signed-off-by: Patrick Williams <patrick@stwcx.xyz> Change-Id: I791bf88d86ba5761a4d2fa9bf811b6e794b097af
show more ...
|
4a9e4221 | 18-Aug-2023 |
Patrick Williams <patrick@stwcx.xyz> |
async: add context_ref class for CRTP patterns
Signed-off-by: Patrick Williams <patrick@stwcx.xyz> Change-Id: I6364f6f5a654ec0c628112637014ae2daed5d740 |
70bcf14c | 26-Jul-2023 |
Patrick Williams <patrick@stwcx.xyz> |
exception: add string r-value constructor
If we are building a string as part of throwing this exception type, it is more efficient to move the string rather than getting the `c_str()` and doing ano
exception: add string r-value constructor
If we are building a string as part of throwing this exception type, it is more efficient to move the string rather than getting the `c_str()` and doing another allocation inside the class.
Signed-off-by: Patrick Williams <patrick@stwcx.xyz> Change-Id: Ibec1c550f82208d5dde6dfef1626f907b7d2ad50
show more ...
|
9d8ba947 | 13-Jul-2023 |
William A. Kennington III <wak@google.com> |
bus: Consistently leverage mock
We have some project generating matches that are using the mock. Previously, we never checked the return value of this function and it allowed our match creations to
bus: Consistently leverage mock
We have some project generating matches that are using the mock. Previously, we never checked the return value of this function and it allowed our match creations to silently fail. With error checking added, this was breaking unit tests.
This change makes sure that all users of slot generating functions have their calls properly mocked.
Change-Id: I5dab3e3ae73e8516db21c928fc39bc00d4218c82 Signed-off-by: William A. Kennington III <wak@google.com>
show more ...
|
fc73b395 | 07-Sep-2022 |
Willam A. Kennington III <wak@google.com> |
bus/match: Compile all code into library
The match code is not templated or declared inline, so it should be explicitly compiled into objects.
Change-Id: I56e7f2898c50e0b21b7d72d3347d7b7010d85739 S
bus/match: Compile all code into library
The match code is not templated or declared inline, so it should be explicitly compiled into objects.
Change-Id: I56e7f2898c50e0b21b7d72d3347d7b7010d85739 Signed-off-by: Willam A. Kennington III <wak@google.com>
show more ...
|
9c6ec9b3 | 23-Jun-2023 |
Patrick Williams <patrick@stwcx.xyz> |
async: add is_sender type-aliases
The latest version of stdexec requires all sender types to include a type alias `is_sender` (which their examples all set to `void`) or else a unique overload of a
async: add is_sender type-aliases
The latest version of stdexec requires all sender types to include a type alias `is_sender` (which their examples all set to `void`) or else a unique overload of a stdexec template. Add the type alias to all of our defined sender types.
Signed-off-by: Patrick Williams <patrick@stwcx.xyz> Change-Id: I2229905703b0f9c360d0fa5f1ba6acffd1f22a02
show more ...
|
5d16a8ed | 25-May-2023 |
Patrick Williams <patrick@stwcx.xyz> |
async: context: remove pending_exception handling
With the move from scope to exec::async_scope there is no possibility for pending-exceptions so clean up all the associated code.
Signed-off-by: Pa
async: context: remove pending_exception handling
With the move from scope to exec::async_scope there is no possibility for pending-exceptions so clean up all the associated code.
Signed-off-by: Patrick Williams <patrick@stwcx.xyz> Change-Id: I6f110d0641b9ba566e480f8e43eb90976e2b3c93
show more ...
|
97c31c82 | 25-May-2023 |
Patrick Williams <patrick@stwcx.xyz> |
async: switch to stdexec async_scope
Use the `async_scope` implementation from stdexec instead of the custom `scope` class here, which greatly reduces our own code and also aligns better with the C+
async: switch to stdexec async_scope
Use the `async_scope` implementation from stdexec instead of the custom `scope` class here, which greatly reduces our own code and also aligns better with the C++ STL direction. The major changes are around exception paths:
- Spawned tasks which end with an exception will now std::terminate, so any task expected to throw should have an `upon_error` chain.
- Spawned tasks which are stopped will be no longer throw an `UnexpectedStop` exception, so they should be chained with an `upon_stopped` if this is important.
Signed-off-by: Patrick Williams <patrick@stwcx.xyz> Change-Id: I4e0c85712652efa5b296b898dcc2b0026ba4c625
show more ...
|
d2149044 | 10-May-2023 |
Patrick Williams <patrick@stwcx.xyz> |
clang-format: copy latest and re-format
clang-format-16 has some backwards incompatible changes that require additional settings for best compatibility and re-running the formatter. Copy the latest
clang-format: copy latest and re-format
clang-format-16 has some backwards incompatible changes that require additional settings for best compatibility and re-running the formatter. Copy the latest .clang-format from the docs repository and reformat the repository.
Change-Id: I5daa012bf76924eb7a7d22ed31b6b77ad2f723df 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 ...
|
91cb97b5 | 05-Apr-2023 |
Patrick Williams <patrick@stwcx.xyz> |
async: change namespace for sync_wait
Upstream stdexec moved the sync_wait from the `stdexec::this_thread` namespace directly into `stdexec`.
Signed-off-by: Patrick Williams <patrick@stwcx.xyz> Cha
async: change namespace for sync_wait
Upstream stdexec moved the sync_wait from the `stdexec::this_thread` namespace directly into `stdexec`.
Signed-off-by: Patrick Williams <patrick@stwcx.xyz> Change-Id: I9a28b4c5920d0f9892ba466d919fd29f2397f64a
show more ...
|