Re: waitpid in pg_basebackup

Поиск
Список
Период
Сортировка
От Tom Lane
Тема Re: waitpid in pg_basebackup
Дата
Msg-id 25402.1341424487@sss.pgh.pa.us
обсуждение исходный текст
Ответ на waitpid in pg_basebackup  (Fujii Masao <masao.fujii@gmail.com>)
Ответы Re: waitpid in pg_basebackup  (Tom Lane <tgl@sss.pgh.pa.us>)
Список pgsql-hackers
Fujii Masao <masao.fujii@gmail.com> writes:
> waitpid() is used with "#ifdef HAVE_WAITPID" in reaper(), but NOT in
> BaseBackup().
> Why not? We can ensure that all platforms which PostgreSQL supports
> have waitpid()?
> If so, can we get rid of "#ifdef HAVE_WAITPID" in reaper()?

The Single Unix Spec V2 (1997) specifies both waitpid() and wait3(),
but says the latter is "legacy" and new applications should use only
waitpid(); furthermore it documents that platforms need not support
wait3() (they can just return ENOSYS instead of making it work).

I notice that pgbench also uses waitpid() unconditionally in its
"#ifndef ENABLE_THREAD_SAFETY" section.  That's been there for
quite some time, making it even less likely that there are still
any platforms where waitpid() isn't available.

I agree, let's drop the support for waitpid() not being present.
It looks to me like we could remove the macro maze in reaper()
completely, if we fixed win32_waitpid() to not have an API randomly
different from the real waitpid().  That would be a noticeable
readability gain there.
        regards, tom lane


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

Предыдущее
От: Tom Lane
Дата:
Сообщение: Re: enhanced error fields
Следующее
От: Dimitri Fontaine
Дата:
Сообщение: Re: Event Triggers reduced, v1