Re: Why PG_SETMASK() change errno to 0 when there is an elog() callbefore or after it? Is it a bug?

Поиск
Список
Период
Сортировка
От Andres Freund
Тема Re: Why PG_SETMASK() change errno to 0 when there is an elog() callbefore or after it? Is it a bug?
Дата
Msg-id 20190128045034.f76oyyjim33t64mh@alap3.anarazel.de
обсуждение исходный текст
Ответ на Why PG_SETMASK() change errno to 0 when there is an elog() callbefore or after it? Is it a bug?  (CNG L <congnanluo@gmail.com>)
Список pgsql-bugs
Hi,

On 2019-01-27 18:21:11 -0800, CNG L wrote:
> In founction ServerLoop() in code postmaster.c, after select(), we called
> PG_SETMASK(). If l add an elog() after PG_SETMASK(), I see errno is reset
> to 0 when PG_SETMASK() call suceeded. But the immediately code will
> actually check errno from the select() call which now has been overwritten
> by PG_SETMASK().

Yes, hat's a bug, we need to restore errno after the setmask. I think I
broke that a few years back, in a39e78b710eb588e102aedd2828611d7bc74714b.
I'll try to fix that later this week - I'm flying to Brussels Tuesday
morning, not sure I can get this done before.

Greetings,

Andres Freund


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

Предыдущее
От: "钱学斌"
Дата:
Сообщение: pgsql bug
Следующее
От: Michael Paquier
Дата:
Сообщение: Re: BUG #15548: Unaccent does not remove combining diacriticalcharacters