Re: What behavior is in this loop?

Поиск
Список
Период
Сортировка
От Heikki Linnakangas
Тема Re: What behavior is in this loop?
Дата
Msg-id 530F1F5A.8090907@vmware.com
обсуждение исходный текст
Ответ на What behavior is in this loop?  (KONDO Mitsumasa <kondo.mitsumasa@lab.ntt.co.jp>)
Ответы Re: What behavior is in this loop?  (KONDO Mitsumasa <kondo.mitsumasa@lab.ntt.co.jp>)
Список 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



В списке pgsql-hackers по дате отправления:

Предыдущее
От: Hannu Krosing
Дата:
Сообщение: Re: jsonb and nested hstore
Следующее
От: Robert Haas
Дата:
Сообщение: Re: jsonb and nested hstore