From: Marc-André Lureau <marcandre.lur...@redhat.com> If the backend failed to start (for example feature negociation failed), do not exit, but disconnect the char device instead. Slightly more robust for reconnect case.
Signed-off-by: Marc-André Lureau <marcandre.lur...@redhat.com> Tested-by: Yuanhan Liu <yuanhan....@linux.intel.com> Reviewed-by: Yuanhan Liu <yuanhan....@linux.intel.com> --- net/vhost-user.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/net/vhost-user.c b/net/vhost-user.c index 4a7fd5f..41ddb4b 100644 --- a/net/vhost-user.c +++ b/net/vhost-user.c @@ -202,7 +202,8 @@ static void net_vhost_user_event(void *opaque, int event) s->watch = qemu_chr_fe_add_watch(s->chr, G_IO_HUP, net_vhost_user_watch, s); if (vhost_user_start(queues, ncs) < 0) { - exit(1); + qemu_chr_disconnect(s->chr); + return; } qmp_set_link(name, true, &err); break; -- 2.7.4