Provide pg_preadv() and pg_pwritev().
authorThomas Munro <tmunro@postgresql.org>
Mon, 11 Jan 2021 01:37:13 +0000 (14:37 +1300)
committerThomas Munro <tmunro@postgresql.org>
Mon, 11 Jan 2021 02:24:38 +0000 (15:24 +1300)
commit13a021f3e8c99915b3cc0cb2021a948d9c71ff32
treef532b74cfecef4bb150d2853509f105c3fe05e21
parent01334c92fa09dc496a444a4f206854ef37247258
Provide pg_preadv() and pg_pwritev().

Provide synchronous vectored file I/O routines.  These map to preadv()
and pwritev(), with fallback implementations for systems that don't have
them.  Also provide a wrapper pg_pwritev_with_retry() that automatically
retries on short writes.

Reviewed-by: Tom Lane <tgl@sss.pgh.pa.us>
Reviewed-by: Andres Freund <andres@anarazel.de>
Discussion: https://postgr.es/m/CA%2BhUKGJA%2Bu-220VONeoREBXJ9P3S94Y7J%2BkqCnTYmahvZJwM%3Dg%40mail.gmail.com
configure
configure.ac
src/include/pg_config.h.in
src/include/port.h
src/include/port/pg_iovec.h [new file with mode: 0644]
src/port/Makefile
src/port/pread.c
src/port/pwrite.c
src/tools/msvc/Solution.pm