-
assigned issue to
- changed status to open
arena-level interface refcounts
mm->GetInterface(I_INTERFACE, arena) does not behave as expected. it will implement a global reference count, causing all calls to mm->UnregInterface(I_INTERFACE, arena) to fail if that interface is used on more than one arena.
Comments (4)
-
reporter -
reporter added "arena refcounts" which will allow modules to register interfaces on an arena and successfully tell whether any other attached modules are using that interface. still requires additional changes to arenaman and possibly other files to more properly handle MM_DETACH returning MM_FAIL. references issue 100
→ Wiki macro error: Changeset dbf981391773 not found.
-
reporter Functionality added to the "arenarefcount" branch, see Wiki macro error: Changeset 1180 not found. and Wiki macro error: Changeset 1184 not found.. Testing was done, and all expected uses of code should check out.
Once it's merged in to the main branch this issue should be marked as resolved.
-
reporter - changed status to resolved
- Log in to comment
planned new functions: mm->GetArenaInterface mm->ReleaseArenaInterface
planned new functionality: mm->DetachAllFromArena returns MM_OK/MM_FAIL. failing to detach all from arena will keep arena in unkillable state, it'll spew some errors so you know to fix your code to not reach a state where it can fail to detach on destroy.