commit | 6780fba01c2ff9e9148fa3684f696323718918c4 | [log] [tgz] |
---|---|---|
author | Peter Johnston <peterjohnston@google.com> | Wed Feb 12 11:42:49 2025 -0800 |
committer | CQ Bot <fuchsia-internal-scoped@luci-project-accounts.iam.gserviceaccount.com> | Wed Feb 12 11:42:49 2025 -0800 |
tree | e9affeb814b7c59cc0c4cc5a3a6bdae080360832 | |
parent | b846f1bbba3f19dd694e9d6b6e91f148c91dea39 [diff] |
[netstack3] Remove lock levels only used for unlocked access There are currently a number of lock levels that are declared only for usage in implementations of UnlockedAccess. There is some value in this pattern, namely that it draws attention to the state being accessed without using the lock ordering system; however, it also leads to a lot of extra boilerplate code and the tradeoff is less worth it now that core has been split into several crates. As a consequence of the crate split, we now keep all state that is held by locks crate-private in non-integration core crates; this means that providing a shared reference to StackState does not allow for sidestepping the global lock ordering. The same is true of state held in DeviceIds. As a result of the improved hygiene and clarity from the crate split, we can remove all of the dedicated lock levels meant only for unlocked access in lieu of a single lock level, UnlockedState, that is used in a handful of places to provide top-level readonly access to StackState itself or device-specific state. Change-Id: I429a15bd703ed10622a42706c903f7bc6bc594ba Reviewed-on: https://fuchsia-review.googlesource.com/c/fuchsia/+/1204706 Commit-Queue: Peter Johnston <peterjohnston@google.com> Reviewed-by: Bruno Dal Bo <brunodalbo@google.com> Fuchsia-Auto-Submit: Peter Johnston <peterjohnston@google.com> Reviewed-by: Jeff Martin <martinjeffrey@google.com>
Fuchsia is an open source, general purpose operating system supporting modern 64-bit Intel and ARM processors.
We expect everyone interacting with our project to respect our code of conduct.
Read more about Fuchsia's principles.
See Getting Started.
See fuchsia.dev.