[kernel][process][diagnostics] Use Reader handle table lock in ForEachHandle

This is a minor optimization.  No functional change.

ProcessDispatcher::ForEachHandle iterates the handle table, calling T
on each handle.  ForEachHandle itself does not modify the table.  T is
passed a zx_handle_t and no existing callers attempt to modify the
table.  Change ForEachHandle to use a Reader lock since Writer is
unnecessary.

ProcessDispatcher::GetVmos must acquire the process's handle table
lock before calling GetProcessVmosLocked as it iterates over the
process's VMOs. However, GetProcessVmosLocked does not modify the
handles or handle table so it does not need a Writer lock. Change
GetVmos to acquire a Reader lock instead.

Bug: 34652
Change-Id: I80ca496986f93e15caa8c99f05b448ad1f370e43
3 files changed
tree: 6d47c81342d08fa3e7ea576b1798605149412cec
  1. boards/
  2. build/
  3. bundles/
  4. docs/
  5. examples/
  6. garnet/
  7. peridot/
  8. products/
  9. scripts/
  10. sdk/
  11. src/
  12. third_party/
  13. tools/
  14. zircon/
  15. .clang-format
  16. .clang-tidy
  17. .dir-locals.el
  18. .gitattributes
  19. .gitignore
  20. .gn
  21. .style.yapf
  22. AUTHORS
  23. BUILD.gn
  24. CODE_OF_CONDUCT.md
  25. CONTRIBUTING.md
  26. LICENSE
  27. OWNERS
  28. PATENTS
  29. README.md
  30. rustfmt.toml
README.md

Fuchsia

Pink + Purple == Fuchsia (a new operating system)

What is Fuchsia?

Fuchsia is a modular, capability-based operating system. Fuchsia runs on modern 64-bit Intel and ARM processors.

Fuchsia is an open source project with a code of conduct that we expect everyone who interacts with the project to respect.

How can I build and run Fuchsia?

See Getting Started.

Where can I learn more about Fuchsia?

See fuchsia.dev.