Обсуждение: pgsql: Provide pg_preadv() and pg_pwritev().

Поиск
Список
Период
Сортировка

pgsql: Provide pg_preadv() and pg_pwritev().

От
Thomas Munro
Дата:
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(-)