Add WL_SOCKET_CLOSED for socket shutdown events.
authorThomas Munro <tmunro@postgresql.org>
Mon, 14 Feb 2022 03:29:28 +0000 (16:29 +1300)
committerThomas Munro <tmunro@postgresql.org>
Mon, 14 Feb 2022 03:52:23 +0000 (16:52 +1300)
commit50e570a59e7f86bb41f029a66b781fc79b8d50f1
tree76bb162da362d3334c95cca8c8ece266a4a047b8
parent5e01001ffb386aa6683fb65b918359f486625eb1
Add WL_SOCKET_CLOSED for socket shutdown events.

Provide a way for WaitEventSet to report that the remote peer has shut
down its socket, independently of whether there is any buffered data
remaining to be read.  This works only on systems where the kernel
exposes that information, namely:

* WAIT_USE_POLL builds using POLLRDHUP, if available
* WAIT_USE_EPOLL builds using EPOLLRDHUP
* WAIT_USE_KQUEUE builds using EV_EOF

Reviewed-by: Zhihong Yu <zyu@yugabyte.com>
Reviewed-by: Maksim Milyutin <milyutinma@gmail.com>
Discussion: https://postgr.es/m/77def86b27e41f0efcba411460e929ae%40postgrespro.ru
src/backend/storage/ipc/latch.c
src/include/storage/latch.h