Re: Avoiding SIGPIPE (was Re: OSDL DBT-2 w/ PostgreSQL

Поиск
Список
Период
Сортировка
От AgentM
Тема Re: Avoiding SIGPIPE (was Re: OSDL DBT-2 w/ PostgreSQL
Дата
Msg-id BAF9D401-0D73-11D8-81CA-000A95672382@webopticon.com
обсуждение исходный текст
Ответ на Re: Avoiding SIGPIPE (was Re: OSDL DBT-2 w/ PostgreSQL  (Tom Lane <tgl@sss.pgh.pa.us>)
Ответы Re: Avoiding SIGPIPE (was Re: OSDL DBT-2 w/ PostgreSQL
Список pgsql-hackers
On Sunday, Nov 2, 2003, at 18:16 Europe/Berlin, Tom Lane wrote:
> Manfred Spraul <manfred@colorfullife.com> writes:
>> Tom Lane wrote:
>>> I don't see that this proposal adds any security.
>>>
>> It's not about security:
>
> The proposal would be more salable if it addressed the security problem
> too.  As is, you are proposing putting a large wart on libpq's API in
> order to work around an inefficiency that's only been shown to exist in
> one version of one operating system.  I'd like to look for other
> solutions before we do that.
>
> One possibility that comes to mind is simply to test whether the 
> SIGPIPE
> handler is already SIG_IGN before we munge it.  Ideally we'd do that
> once when the conn object is created, but even if it had to be done 
> more
> often, it might still be a net win.

That wouldn't offer a solution for people who use SIGPIPE for other 
things during the lifetime of the program (after creating the 
connection) and if a SIGPIPE handler is called due to the connection, 
the handler won't be expecting the source, and polling signal for state 
is essentially what you do now. Instead, I propose a 
PQsigpipeOK/PQacceptsigpipe/PQrecvsigpipe(PGconn*) or something to that 
effect which skips this check for the connection. That way, programmers 
are aware that the connection could call their SIGPIPE handler because 
they explicitly request it and the library remains backwards-compatible.



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

Предыдущее
От: Tom Lane
Дата:
Сообщение: Re: Experimental patch for inter-page delay in VACUUM
Следующее
От: "Stephen"
Дата:
Сообщение: Re: Experimental patch for inter-page delay in VACUUM