On 01/06/2018 14:05, Sergio Lopez wrote: >>> Instead of adding explicit handling of EPIPE, shouldn't the code be >>> rewritten to treat -1 return && errno != EAGAIN as fatal? >> Yes, exactly this code is already broken for every single errno >> value, not simply EPIPE. It needs fixing to treat '-1' return code >> correctly instead of retrying everything. > Given that EAGAIN is already taken care of in > chardev/char.c:qemu_chr_write_buffer, in which cases should we retry? Or > should we just drop all the tsr_retry logic?
It's not handled there, the call from qemu_chr_fe_write has write_all == false. Paolo