Re: LISTEN/NOTIFY enhancement: Portable signal handling?
От | Sean Chittenden |
---|---|
Тема | Re: LISTEN/NOTIFY enhancement: Portable signal handling? |
Дата | |
Msg-id | DA5DFEF6-583A-11D9-A9FF-000A95C705DC@chittenden.org обсуждение исходный текст |
Ответ на | Re: LISTEN/NOTIFY enhancement: Portable signal handling? (Tom Lane <tgl@sss.pgh.pa.us>) |
Список | pgsql-hackers |
>> The async interface is nice, but not really useful to me as it >> requires >> polling, instead of unblocking when an event comes through, which >> would >> create a vastly more real time interface that should be easier on the >> database. > > BTW, this is nonsense; the backend sends a message exactly when the > NOTIFY occurs. It may well be that libpq needs some work to make it > easier to wait for a NOTIFY without polling, but again there isn't a > reason to clutter the server-side code with it. It's asynchronous with regards to client delivery of the message. Sending of the NOTIFY message is synchronous, but delivery to the client is not. I don't see how it could be any other way in PostgreSQL. libpq(3) actually has a reasonable interface that relies on the developer to block on the fd as described here: http://developer.postgresql.org/docs/postgres/libpq-notify.html The problem is that this doesn't work in pl/*, which is the problem I was trying to address. *shrug* -sc -- Sean Chittenden
В списке pgsql-hackers по дате отправления: