From: | Heikki Linnakangas <hlinnakangas(at)vmware(dot)com> |
---|---|
To: | KONDO Mitsumasa <kondo(dot)mitsumasa(at)lab(dot)ntt(dot)co(dot)jp> |
Cc: | PostgreSQL-development <pgsql-hackers(at)postgresql(dot)org> |
Subject: | Re: What behavior is in this loop? |
Date: | 2014-02-27 11:19:54 |
Message-ID: | 530F1F5A.8090907@vmware.com |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-hackers |
On 02/27/2014 12:38 PM, KONDO Mitsumasa wrote:
> I found interesting "for" and "while" loop in WaitForWALToBecomeAvailable() in
> xlog.c. Can you tell me this behavior?
>
> for (;;)
> {
> ~
> } while (StanbyMode)
>
> I confirmed this code is no problem in gcc compiler:)
Oh wow :-). That's clearly a thinko, although harmless in this case.
Looking at the git history, I made that mistake in commit abf5c5c9a.
Before that, there was no "while".
That's easier to understand with some extra formatting. That's two
loops, like this:
/* loop 1 */
for (;;)
{
...
}
/* loop2 */
while(StandbyMode);
The second loop is obviously completely pointless. Thankfully, the there
are no "breaks" inside the first loop (the ones within the
switch-statements don't count), so the endless while-loop is never reached.
I'll go fix that... Thanks for the report!
- Heikki
From | Date | Subject | |
---|---|---|---|
Next Message | Robert Haas | 2014-02-27 11:54:51 | Re: jsonb and nested hstore |
Previous Message | Hannu Krosing | 2014-02-27 11:19:46 | Re: jsonb and nested hstore |