mirror of
https://github.com/genodelabs/genode.git
synced 2024-12-23 23:42:32 +00:00
c1492da15b
Holding the object pool's lock while trying to obtain an object's lock can leave to dead-lock situations, when more than one thread tries to access multiple objects at once (e.g.: when transfer_quota gets called simultanously by the init and entrypoint thread in core). To circumvent holding the object pool lock too long, but access object pointers safely on the other hand, this commit updates the object pool implementation to use weak pointers during the object retrieval. Fix #1704 |
||
---|---|---|
.. | ||
etc | ||
include | ||
lib | ||
mk | ||
run | ||
src | ||
README |
This is generic part of the Genode implementation. It consists of two parts: :_Core_: is the ultimate root of the Genode application tree and provides abstractions for the lowest-level hardware resources such as RAM, ROM, CPU, and generic device access. All generic parts of Core can be found here - for system-specific implementations refer to the appropriate 'base-<system>' directory. :_Base libraries and protocols_: that are used by each Genode component to interact with other components. This is the glue that holds everything together.