- ASO_NoTrack: A boolean value that indicates
whether the object should be tracked or not.
This might be useful for stuff that is dangrous
to get rid of automatically, like semaphores.
Also, tracking has a slight additional memory overhead.
Default: TRUE (i.e do not track)
WIKI AllocSysObject ASO_NoTrack clarification
WIKI AllocSysObject ASO_NoTrack clarification
The autodoc for AllocSysObject says this about the ASO_NoTrack option:
AmigaOne X1000 with 2GB memory - OS4.1 FE
- Hans
- AmigaOS Core Developer
- Posts: 703
- Joined: Tue Dec 21, 2010 9:25 pm
- Location: New Zealand
- Contact:
Re: WIKI AllocSysObject ASO_NoTrack clarification
@xenic
FreeSysObject() will always fully free an object (incl. memory). Tracking enables objects to be automatically cleaned up when a task/process ends. I assume that tracked objects are also automatically cleaned up after a task has been terminated due to crashing, but I'm not 100% sure.
Since semaphores are used for synchronization between multiple tasks, automatically freeing it when the task that created it stops could be risky. Other tasks that use that semaphore might try to access it after it's been freed.
I see tracking as a backup for when things go wrong, and believe that software should still manually free all objects before exiting. Not doing so is kind of lazy.
Hans
FreeSysObject() will always fully free an object (incl. memory). Tracking enables objects to be automatically cleaned up when a task/process ends. I assume that tracked objects are also automatically cleaned up after a task has been terminated due to crashing, but I'm not 100% sure.
Since semaphores are used for synchronization between multiple tasks, automatically freeing it when the task that created it stops could be risky. Other tasks that use that semaphore might try to access it after it's been freed.
I see tracking as a backup for when things go wrong, and believe that software should still manually free all objects before exiting. Not doing so is kind of lazy.
Hans
http://hdrlab.org.nz/ - Amiga OS 4 projects, programming articles and more. Home of the RadeonHD driver for Amiga OS 4.x project.