From: shugo@... Date: 2017-10-25T03:49:45+00:00 Subject: [ruby-core:83555] [Ruby trunk Bug#14051][Assigned] net/imap issue on idle method with an empty block Issue #14051 has been updated by shugo (Shugo Maeda). Status changed from Open to Assigned Assignee set to shugo (Shugo Maeda) ---------------------------------------- Bug #14051: net/imap issue on idle method with an empty block https://bugs.ruby-lang.org/issues/14051#change-67582 * Author: simayosi (SHIMAYOSHI Takao) * Status: Assigned * Priority: Normal * Assignee: shugo (Shugo Maeda) * Target version: * ruby -v: * Backport: 2.3: UNKNOWN, 2.4: UNKNOWN ---------------------------------------- Description If Net::IMAP#idle method is called with empty block, all response handlers that have added beforehand are unintentionally removed before returning from the call. Sample Code imap.add_response_handler do |resp| if resp.kind_of?(Net::IMAP::UntaggedResponse) and resp.name == "EXISTS" imap.idle_done end end imap.idle {} # the response handler firstly added is unregistered here Cause @response_handlers.delete(nil) is executed in Net::IMAP#remove_response_handler called from the idle method. -- https://bugs.ruby-lang.org/ Unsubscribe: