Thread: pgsql: Provide pg_preadv() and pg_pwritev().
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 Branch ------ master Details ------- https://git.postgresql.org/pg/commitdiff/13a021f3e8c99915b3cc0cb2021a948d9c71ff32 Modified Files -------------- configure | 30 +------------ configure.ac | 9 +++- src/include/pg_config.h.in | 15 +++++++ src/include/port.h | 2 + src/include/port/pg_iovec.h | 59 ++++++++++++++++++++++++ src/port/Makefile | 2 + src/port/pread.c | 43 +++++++++++++++++- src/port/pwrite.c | 107 +++++++++++++++++++++++++++++++++++++++++++- src/tools/msvc/Solution.pm | 5 +++ 9 files changed, 238 insertions(+), 34 deletions(-)