Re: [HACKERS] Query cancel and OOB data
От | Bruce Momjian |
---|---|
Тема | Re: [HACKERS] Query cancel and OOB data |
Дата | |
Msg-id | 199805190217.WAA02121@candle.pha.pa.us обсуждение исходный текст |
Ответ на | Re: [HACKERS] Query cancel and OOB data (dg@illustra.com (David Gould)) |
Список | pgsql-hackers |
> > > > Bruce Momjian wrote: > > > > > > > OK, thanks to Tom Lane's many patches, I have query cancel working on my > > > > machine. However, it is not working with Unix domain sockets. I get: > > > > > > > > Cannot send cancel request: > > > > PQrequestCancel() -- couldn't send OOB data: errno=45 > > > > Operation not supported > > > > > > > > This is under BSDI 3.1. > > > > > > > > Do Unix Domain sockets support OOB(out-of-band) data? > > > > > > > > > > Unix domain sockets don't support OOB (Stevens, Unix Network Programming). > > > > Yea, I found that too, late last night, Section 6.14, page 332. > > > > I basically need some way to 'signal' the backend of a cancellation > > request. Polling the socket is not an option because it would impose > > too great a performance penalty. Maybe async-io on a read(), but that > > is not going to be very portable. > > > > I could pass the backend pid to the front end, and send a kill(SIG_URG) > > to that pid on a cancel, but the frontend can be running as a different > > user than the backend. Problem is, the only communcation channel is > > that unix domain socket. > > > > We basically need some way to get the attention of the backend, > > hopefully via some signal. > > > > Any ideas? > > Use TCP. On most modern systems (eg Linux ;-) ), TCP especially on the local > machine is very efficient. Not quite as efficient as a Unix domain socket, > but close enough that no one will notice. > > To investigate this, see Larry McVoy's wonderful lmbench suite... We implemented Unix domain sockets for performance, and security. Hard to beat a Unix domain socket's security. I need the SIB_URG signal. -- Bruce Momjian | 830 Blythe Avenue maillist@candle.pha.pa.us | Drexel Hill, Pennsylvania 19026 + If your life is a hard drive, | (610) 353-9879(w) + Christ can be your backup. | (610) 853-3000(h)
В списке pgsql-hackers по дате отправления: