Guido van Rossum added the comment:

Well, calling close() is best practice *if you own the loop*.  But the thing is 
that you may not own what get_event_loop() returns, and in fact in most cases 
where it is called you don't own it.  This is very different from files:

  with open(...) as f:
      ...

In that idiom you clearly own f.  Both of these are also very different from 
locks and the like, because you can repeatedly acquire and release a lock (but 
you can only close a file or event loop once).

I tried to come up with a design for a helper that in __enter__() creates a new 
event loop and makes it the current event loop, then in __exit__() closes it 
and sets the current event loop to None.  But this doesn't work well with the 
way get_event_loop() can sometimes auto-creates the loop.

Therefore I am closing this as "rejected".

----------
resolution:  -> rejected
stage:  -> committed/rejected
status: open -> closed
type:  -> behavior

_______________________________________
Python tracker <rep...@bugs.python.org>
<http://bugs.python.org/issue19860>
_______________________________________
_______________________________________________
Python-bugs-list mailing list
Unsubscribe: 
https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com

Reply via email to