diff --git a/artiq/runtime/net_server.c b/artiq/runtime/net_server.c index 88e69f0a1..4d09f0cf3 100644 --- a/artiq/runtime/net_server.c +++ b/artiq/runtime/net_server.c @@ -168,10 +168,10 @@ static void tcp_pcb_service(void *arg, struct tcp_pcb *pcb) tcp_write(pcb, data, len, 0); instance->ack_consumed(len); } - if(close_flag) { + if(close_flag) tcp_output(pcb); + if((len < 0) || close_flag) net_server_close(cs, pcb); - } } }