On Mar 16, 2009, at 3:40 PM, Nick Coghlan wrote:
Not wasted - I prefer having this as a recognised limitation of the
semantics rather than as an accident of the implementation.

Well, I'm glad some good came from the issue report. =)

Who knows, maybe somebody will come up with a real world use case some
day and we can drag the PEP out and dust it off a bit :)


I don't expect this to be at all compelling, but FWIW:

The identification of this issue came from an *experiment* attempting to create a *single* "daemonized()" CM that would execute the with- statement's block in a new child process and, of course, not execute it in the parent. At first, I ran into the RuntimeError in the parent process, and then after rewriting the CMs as classes, I realized the futility.

with daemonized():
 run_some_subprocess()

Of course it was all possible if I used the component CMs directly:

with parent_trap():
 with fork_but_raise_in_parent():
  run_some_subprocess()

And thus:

def daemonized():
 return contextlib.nested(parent_trap(), fork_but_raise_in_parent())
_______________________________________________
Python-Dev mailing list
Python-Dev@python.org
http://mail.python.org/mailman/listinfo/python-dev
Unsubscribe: 
http://mail.python.org/mailman/options/python-dev/archive%40mail-archive.com

Reply via email to