mono / mono-addins

Mono.Addins is a generic framework for creating extensible applications, and for creating add-ins which extend those applications.
MIT License
163 stars 94 forks source link

Allow IAssemblyReflector to be properly disposable #110

Open KirillOsenkov opened 6 years ago

KirillOsenkov commented 6 years ago

On a Mac the default open file limit is 256. You can workaround it by using ulimit -S -n 24000. However we think Mono.Addins is not disposing of handles created by a Cecil-based implementation of IAssemblyReflector.

If my understanding of this is correct, we should probably make IAssemblyReflector inherit IDisposable and properly call Dispose() on it when we're done.

http://source.monodevelop.com/#Mono.Addins/Mono.Addins.Database/IAssemblyReflector.cs,41 http://source.monodevelop.com/#MonoDevelop.Addins.Tasks/AddinTask.cs,80

KirillOsenkov commented 6 years ago

This is low-priority because we can work around by raising ulimit.

KirillOsenkov commented 5 years ago

I have a workaround on the AddinMaker side: https://github.com/mhutch/MonoDevelop.AddinMaker/pull/67