fix(bthread): Destroy pooled KeyTables outside locks (#3682)

Detach cached KeyTables while holding the pool and cache locks, then destroy them after releasing the locks. Add regression coverage for TLS destructor reentrancy.
2 files changed
tree: aa723cc5a40ac3df36f9d65f7eab5883700c2544
  1. .github/
  2. bazel/
  3. cmake/
  4. community/
  5. docs/
  6. example/
  7. homebrew-formula/
  8. java/
  9. package/
  10. python/
  11. registry/
  12. src/
  13. test/
  14. tools/
  15. .asf.yaml
  16. .bazelignore
  17. .bazelrc
  18. .bazelversion
  19. .gitignore
  20. .licenserc.yaml
  21. AGENTS.md
  22. BUILD.bazel
  23. CHANGES.md
  24. CLAUDE.md
  25. CMakeLists.txt
  26. CODE_OF_CONDUCT.md
  27. config_brpc.sh
  28. CONTRIBUTING.md
  29. Dockerfile
  30. LICENSE
  31. Makefile
  32. MODULE.bazel
  33. NOTICE
  34. README.md
  35. README_cn.md
  36. RELEASE_VERSION
  37. SECURITY.md
  38. THREAT_MODEL.md
  39. WORKSPACE
  40. WORKSPACE.bzlmod
README.md

中文版

Linux Build Status MacOs Build Status

brpc logo (light) brpc logo (dark)

bRPC is an Industrial-grade RPC framework using C++ Language, which is often used in high performance system such as Search, Storage, Machine learning, Advertisement, Recommendation etc.

“bRPC” means “better RPC”.

You can use it to:

Try it!

Contribute code

Please refer to here.

Feedback and Getting involved

Code of Conduct

We follow the code of conduct from Apache Software Foundation, please refer it here Link.