[Lucene.Net] [jira] [Commented] (LUCENENET-443) SpellChecker finaliser calls close regardless of if closed already
[ https://issues.apache.org/jira/browse/LUCENENET-443?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=13107632#comment-13107632 ] michael herndon commented on LUCENENET-443: --- Stuart, trunk was updated with typical MS style IDisposable pattern which replaced the this.Close() in the finalizer. Calling Dispose() will check to see if the SpellChecker is still open before calling Close() and suppress the finalizer. Leaving this open for a few days before resolving. - Michael SpellChecker finaliser calls close regardless of if closed already -- Key: LUCENENET-443 URL: https://issues.apache.org/jira/browse/LUCENENET-443 Project: Lucene.Net Issue Type: Improvement Components: Lucene.Net Contrib Affects Versions: Lucene.Net 2.9.2 Reporter: Stuart Robinson Assignee: michael herndon Labels: lucene, spellcheck, spellchecker The SpellChecker Class currently has no publicly visible way of accessing the closed field. It also calls close in the finaliser killing the process it is in upon GC as this can throw an exceptin. I propose two changes: Change the already existing method IsClosed() to public: public bool IsClosed() { return closed; } and add a check on this in the finaliser: ~SpellChecker() { if (!IsClosed()) this.Close(); } Ideally this class should implement IDisposable but I think this would be a bigger job than this two line change. -- This message is automatically generated by JIRA. For more information on JIRA, see: http://www.atlassian.com/software/jira
[Lucene.Net] [jira] [Commented] (LUCENENET-443) SpellChecker finaliser calls close regardless of if closed already
[ https://issues.apache.org/jira/browse/LUCENENET-443?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=13105348#comment-13105348 ] michael herndon commented on LUCENENET-443: --- I should have some over the weekend to fix it, though it would go into trunk and the next release. SpellChecker finaliser calls close regardless of if closed already -- Key: LUCENENET-443 URL: https://issues.apache.org/jira/browse/LUCENENET-443 Project: Lucene.Net Issue Type: Improvement Components: Lucene.Net Contrib Affects Versions: Lucene.Net 2.9.2 Reporter: Stuart Robinson Labels: lucene, spellcheck, spellchecker The SpellChecker Class currently has no publicly visible way of accessing the closed field. It also calls close in the finaliser killing the process it is in upon GC as this can throw an exceptin. I propose two changes: Change the already existing method IsClosed() to public: public bool IsClosed() { return closed; } and add a check on this in the finaliser: ~SpellChecker() { if (!IsClosed()) this.Close(); } Ideally this class should implement IDisposable but I think this would be a bigger job than this two line change. -- This message is automatically generated by JIRA. For more information on JIRA, see: http://www.atlassian.com/software/jira