Much of the code written so far for this library does not properly clean up resources.
Many of the file-operation actors need to be equipped with a finalizer to get rid of relevant resources. But Savi doesn't yet have finalizers as a language feature, so that work (of developing the finalizer feature and using it properly here) still needs to be done.
This includes:
- Closing any open file descriptors.
- Cleaning up INotify watch descriptors.
- Calling
CFRelease on FSEvents resources created/obtained from MacOS Core Foundation features.
- Surely a lot of other missing details.