>>>>> "Guido" == Guido van Rossum <[EMAIL PROTECTED]> writes:

    Guido> [Skip Montanaro]
    >> Yeah, but "block synchronized(v1)" doesn't look like a loop.  I think
    >> this might be a common stumbling block for people using this
    >> construct.

    Guido> How many try/finally statements have you written inside a loop?
    Guido> In my experience this is extreeeemely rare. I found no
    Guido> occurrences in the standard library.

How'd we start talking about try/finally?  To the casual observer, this
looks like "break" should break out of the loop:

    while True:
        block synchronized(v1):
            ...
            if v1.field:
                break
        time.sleep(1)

The PEP says:

    Note that it is left in the middle whether a block-statement
    represents a loop or not; this is up to the iterator, but in the
    most common case BLOCK1 is executed exactly once.

That suggests to me it's still not clear if the block statement is actually
a looping statement.  If not, then "break" should almost certainly break out
of the while loop.

BTW, what did you mean by "left in the middle" mean?  I interpreted it as
"still undecided", but it's an idiom I've never seen.  Perhaps it should be
replaced by something more clear.

Skip
_______________________________________________
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