When an active instance is deleted, no check is made for whether
its task has actually terminated. If it hasn't, the task won't
actually get deleted, and memory will leak.
The problem can only be fixed by altering the code generation strategy; on deletion of an instance of an active class, the task is placed on a special list after aborting it, and a separate low-priority task does the actual deletion when the task is terminated.
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
Logged In: YES
user_id=917025
Originator: YES
This change requires regeneration (the ColdFrame library/project code has changed).
The problem can only be fixed by altering the code generation strategy; on deletion of an instance of an active class, the task is placed on a special list after aborting it, and a separate low-priority task does the actual deletion when the task is terminated.
Accidentally re-opened while improving comments.