In Async_Listen(): change
'heap_close(lRel, ExclusiveLock);' for 'heap_close(lRel, NoLock);'.
This solution is pretty ugly, though, because we allow people to
execute LISTEN/UNLISTEN in transaction blocks, which means that the
ExclusiveLock could be held for quite some time. Not only is that bad
for performance but it poses significant risks of deadlocks.
True, I had not considered this.
Comments? Have I missed anything?
As far as I can tell it seems fine.
Thanks a lot for your input!
Laurent Birtz
--
Sent via pgsql-bugs mailing list (pgsql-bugs@postgresql.org)
To make changes to your subscription:
http://www.postgresql.org/mailpref/pgsql-bugs