On Mo, 2013-10-28 at 08:47 +0000, Gonglei (Arei) wrote: > > -----Original Message----- > > From: Gerd Hoffmann [mailto:kra...@redhat.com] > > Sent: Monday, October 28, 2013 3:53 PM > > To: Gonglei (Arei) > > Cc: qemu-devel@nongnu.org; Stefan Hajnoczi; Yanqiangjun; Luonengjun; > > Huangweidong (Hardware) > > Subject: Re: [Qemu-devel] [PATCH] vnc: Fix qemu crash on vnc client > > disconnection > > > > Hi, > > > > > diff --git a/ui/vnc.c b/ui/vnc.c > > > index 5601cc3..2177704 100644 > > > --- a/ui/vnc.c > > > +++ b/ui/vnc.c > > > @@ -876,7 +876,8 @@ static int find_and_clear_dirty_height(struct > > VncState *vs, > > > static int vnc_update_client_sync(VncState *vs, int has_dirty) > > > { > > > int ret = vnc_update_client(vs, has_dirty); > > > - vnc_jobs_join(vs); > > > + if (ret >= 0) > > > + vnc_jobs_join(vs); > > > > What happens with any running jobs if you skip the jouin call here? > > Hi, Gerd. The other jobs are unaffected, and other clients still work.
My concern is more that we might keep threads running which should not run any more. cheers, Gerd