Re: [RFC,PATCH] SIGPIPE masking in local socket connections

Поиск
Список
Период
Сортировка
От Marko Kreen
Тема Re: [RFC,PATCH] SIGPIPE masking in local socket connections
Дата
Msg-id e51f66da0906020743o72237f42k28ea9832759f2676@mail.gmail.com
обсуждение исходный текст
Ответ на Re: [RFC,PATCH] SIGPIPE masking in local socket connections  (Tom Lane <tgl@sss.pgh.pa.us>)
Список pgsql-hackers
On 6/2/09, Tom Lane <tgl@sss.pgh.pa.us> wrote:
> Marko Kreen <markokr@gmail.com> writes:
>  > On 6/2/09, Tom Lane <tgl@sss.pgh.pa.us> wrote:
>
> >> We've had problems before with userland headers not being in sync
>  >> with what the kernel knows.
>
>  > Well, we could just test in configure perhaps?
>
>
> The single most common way to get into that kind of trouble is to
>  compile on machine A then install the executables on machine B with
>  a different kernel.  So a configure test wouldn't give me any warm
>  feeling at all.

Agreed.  Another problem would be cross-compilation.

>  A feature that is exercised via setsockopt is probably fairly safe,
>  since you can check for failure of the setsockopt call and then do
>  it the old way.  MSG_NOSIGNAL is a recv() flag, no?  The question
>  is whether you could expect that the recv() would fail if it had
>  any unrecognized flags.  Not sure if I trust that.  SO_NOSIGPIPE
>  seems safer.

send().  The question is if the kernel would give error (good)
or simply ignore it (bad).  I guess with MSG_NOSIGNAL only safe
way is to hardcode working OSes.

Are there any OS-es that have MSG_NOSIGNAL but not SO_NOSIGPIPE?

*grep*  Eh, seems like Linux is such OS...  But I also see it existing
as of Linux 2.2.0 in working state, so should be safe to use on linux
despite the kernel version.

-- 
marko


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

Предыдущее
От: Tom Lane
Дата:
Сообщение: Re: explain analyze rows=%.0f
Следующее
От: Tom Lane
Дата:
Сообщение: Re: [RFC,PATCH] SIGPIPE masking in local socket connections