In my previous message the crucial word "NOT" was missing from this sentence:
""" Even a trivial program running in iPython Notebook under Qt will get an event loop that already existed, and that it should NOT close. """ Sorry... Best, Luciano On Mon, Jan 19, 2015 at 9:52 AM, Luciano Ramalho <[email protected]> wrote: > On Mon, Jan 19, 2015 at 4:56 AM, Victor Stinner > <[email protected]> wrote: >> Event loops must be closed. The first call to get_event_loop() creates an >> event loop which must be closed when you are done. > > In a non-trivial program, how do I know mine was the first call to > get_event_loop? > > Even a trivial program running in iPython Notebook under Qt will get > an event loop that already existed, and that it should close. > >> If you run python with -Wd, you should see a warning because a pair of >> sockets are not closed. Sockets are owned by the event loop. >> >> I opened a issue to emit a ResourceWarning if an event loop (and transports) >> are not explicitly closed: >> http://bugs.python.org/issue23243 > > OK, but if I see such a warning and dont't have the information to do > the right thing I will be frustrated. > > To determine whether I must close the event loop, I need to know > whether I started the event loop when I called get_event_loop(), or > whether I got a preexisting event loop from the runtime environment. > Is there an API that tells me that? > > Even better: the BaseEventLoop could have another method, perhaps > named release(), which lets the user say he won't use the event loop > any more, delegating the decision to actually close() the loop to the > same infrastructure level that makes the decision to create a new loop > or give me an existing one when I call get_event_loop. > > What do you think? > > Best, > > > > -- > Luciano Ramalho > Twitter: @ramalhoorg > > Professor em: http://python.pro.br > Twitter: @pythonprobr -- Luciano Ramalho Twitter: @ramalhoorg Professor em: http://python.pro.br Twitter: @pythonprobr
