X-Git-Url: https://git.tokkee.org/?a=blobdiff_plain;f=write_or_die.c;h=630be4cb9414b1686a5ad86a4d5166f2828096f1;hb=06f60e8edf1eb3a91e1af6f255bf46154168dd86;hp=e125e11d3b63e3dab9077d7b414e83e7ff7d16ad;hpb=a6828f536119c3288b0be772e3870f1a464d017d;p=git.git diff --git a/write_or_die.c b/write_or_die.c index e125e11d3..630be4cb9 100644 --- a/write_or_die.c +++ b/write_or_die.c @@ -40,7 +40,7 @@ void maybe_flush_or_die(FILE *f, const char *desc) } } -int read_in_full(int fd, void *buf, size_t count) +ssize_t read_in_full(int fd, void *buf, size_t count) { char *p = buf; ssize_t total = 0; @@ -57,7 +57,7 @@ int read_in_full(int fd, void *buf, size_t count) return total; } -int write_in_full(int fd, const void *buf, size_t count) +ssize_t write_in_full(int fd, const void *buf, size_t count) { const char *p = buf; ssize_t total = 0; @@ -78,6 +78,13 @@ int write_in_full(int fd, const void *buf, size_t count) return total; } +void fsync_or_die(int fd, const char *msg) +{ + if (fsync(fd) < 0) { + die("%s: fsync error (%s)", msg, strerror(errno)); + } +} + void write_or_die(int fd, const void *buf, size_t count) { if (write_in_full(fd, buf, count) < 0) {