> Looking at the code in 2.5.0, the qemu_chr_fe_write method would see EAGAIN too, because the tcp_chr_accept() method would always set the newly connected client to non-blocking mode. So thre's no obvious change in behaviour between 2.5 and 2.6 wrt to blocking sockets.
It looks like tcp_chr_accept function isn't called in above command.
tcp_chr_wait_connected function is called instead.
So the socket is blocking mode and doesn't return EAGAIN in Qemu 2.5.0.
> Looking at the code in 2.5.0, the qemu_chr_fe_write method would see EAGAIN too, because the tcp_chr_accept() method would always set the newly connected client to non-blocking mode. So thre's no obvious change in behaviour between 2.5 and 2.6 wrt to blocking sockets.
It looks like tcp_chr_accept function isn't called in above command. wait_connected function is called instead.
tcp_chr_
So the socket is blocking mode and doesn't return EAGAIN in Qemu 2.5.0.