Provide pg_preadv() and pg_pwritev().
Thomas Munro <tmunro@postgresql.org>
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
Files
| Path | Change | +/− |
|---|---|---|
| configure | modified | +2 −28 |
| configure.ac | modified | +7 −2 |
| src/include/pg_config.h.in | modified | +15 −0 |
| src/include/port.h | modified | +2 −0 |
| src/include/port/pg_iovec.h | added | +59 −0 |
| src/port/Makefile | modified | +2 −0 |
| src/port/pread.c | modified | +41 −2 |
| src/port/pwrite.c | modified | +105 −2 |
| src/tools/msvc/Solution.pm | modified | +5 −0 |
Discussion
- pg_preadv() and pg_pwritev() 39 messages · 2020-12-19 → 2021-01-19