mirror of
https://github.com/genodelabs/genode.git
synced 2025-02-21 02:01:38 +00:00
When a portion of the sliced heap gets freed, the corresponding block gets removed from the list of blocks, and it's dataspace containing the block gets detached, but it's destructor never gets called. This leads to leaking capabilities, when Native_capability is implemented as smart-pointer, because the destructor of Ram_dataspace_capability that is part of the Block object gets never called.
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.