mono/mono-addins

Allow IAssemblyReflector to be properly disposable

Opened this issue · 2 comments

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

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

I have a workaround on the AddinMaker side:
mhutch/MonoDevelop.AddinMaker#67