Lars Schneider <larsxschneider@xxxxxxxxx> writes: >> On 13 Sep 2016, at 00:30, Junio C Hamano <gitster@xxxxxxxxx> wrote: >> >> larsxschneider@xxxxxxxxx writes: >> >>> From: Lars Schneider <larsxschneider@xxxxxxxxx> >>> >>> packet_flush() would die in case of a write error even though for some >>> callers an error would be acceptable. Add packet_flush_gently() which >>> writes a pkt-line flush packet and returns `0` for success and `-1` for >>> failure. >>> ... >>> +int packet_flush_gently(int fd) >>> +{ >>> + packet_trace("0000", 4, 1); >>> + if (write_in_full(fd, "0000", 4) == 4) >>> + return 0; >>> + error("flush packet write failed"); >>> + return -1; >> >> It is more idiomatic to do >> >> return error(...); >> >> but more importantly, does the caller even want an error message >> unconditionally printed here? >> >> I suspect that it is a strong sign that the caller wants to be in >> control of when and what error message is produced; otherwise it >> wouldn't be calling the _gently() variant, no? > > Agreed! I am also OK with the current form, too. Those who need to enhance it to packet_flush_gently(int fd, int quiet) can come later.