Index: qemu/net/tap.c @@ -286,12 +286,13 @@ static void tap_cleanup(NetClientState * qemu_purge_queued_packets(nc); - if (s->down_script[0]) - launch_script(s->down_script, s->down_script_arg, s->fd); - tap_read_poll(s, false); tap_write_poll(s, false); close(s->fd); + + if (s->down_script[0]) + launch_script(s->down_script, s->down_script_arg, s->fd); + s->fd = -1; }