On Fri Aug 18 12:59:57 2023 +0000, Gabriel Ivăncescu wrote:
That shouldn't be a problem since we call `remove_target_tasks` when unlinking/deleting it, which gets rid of the task, unless I'm missing something? I mean I could call `remove_target_tasks` instead of incrementing `magic`, but it seems like pointless overhead because it will be called again anyway during unlink/delete.
What I mean is that if `This` is destroyed by `dispex_ref_decr`, then `This->magic++` operates on invalid memory. I guess that `remove_target_tasks` could work around it if you store the magic before calling `dispex_ref_decr`, but it's ugly...