ipython/ipython — pull request #6775 by jasongrout (2014-10-22 18:26:32+00:00)
Title: Handle some tricky Comm lifecycle issues

* If the comm was a primary comm, but there was an error opening it, _closed was False, which is wrong
* If Comm.close() was called, but an error happened, it still appeared to be open

This change makes the _closed attribute more conservative. If _closed is False, the comm is definitely open for messages. If _closed is False, we either didn't initialize correctly, or we tried to close at some point.