[goldfish] Synchronize pipe ID when creating new pipes.

Pipe ID needs to be locked when creating new goldfish Pipes,
otherwise there can be data races on that ID variable which cause
flakiness in our tests.

TEST=Add a new test case PipeDeviceTest.CreatePipeMultiThreading
     where two threads keep creating pipes and we check IDs of
     pipes created.

Bug: 62702
Change-Id: I62fb1ba863e7c7020ebab977d02ec87db7171968
Reviewed-on: https://fuchsia-review.googlesource.com/c/fuchsia/+/443515
Commit-Queue: Yilong Li <liyl@google.com>
Reviewed-by: David Reveman <reveman@google.com>
Testability-Review: David Reveman <reveman@google.com>
3 files changed
tree: 0f938128d4cb6d0f127553d2969237c1a4bf1f64
  1. boards/
  2. build/
  3. bundles/
  4. docs/
  5. examples/
  6. garnet/
  7. products/
  8. scripts/
  9. sdk/
  10. src/
  11. third_party/
  12. tools/
  13. zircon/
  14. .clang-format
  15. .clang-tidy
  16. .gitattributes
  17. .gitignore
  18. .gn
  19. .style.yapf
  20. AUTHORS
  21. BUILD.gn
  22. CODE_OF_CONDUCT.md
  23. CONTRIBUTING.md
  24. LICENSE
  25. OWNERS
  26. PATENTS
  27. README.md
  28. 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.

Read more about Fuchsia's principles.

How can I build and run Fuchsia?

See Getting Started.

Where can I learn more about Fuchsia?

See fuchsia.dev.