[CRIU] Re: [PATCH 2/6] parasite: Dump blocked thread signals mask
    Cyrill Gorcunov 
    gorcunov at openvz.org
       
    Thu Nov  1 07:04:40 EDT 2012
    
    
  
On Thu, Nov 01, 2012 at 02:59:10PM +0400, Pavel Emelyanov wrote:
> On 10/31/2012 02:44 PM, Cyrill Gorcunov wrote:
> > ---
> >  include/parasite.h |    1 +
> >  parasite.c         |    8 ++++++--
> >  2 files changed, 7 insertions(+), 2 deletions(-)
> > 
> 
> > @@ -354,11 +354,15 @@ static int dump_thread_info(struct parasite_dump_thread_info *args)
> >  
> >  	ret = sys_prctl(PR_GET_TID_ADDRESS, (unsigned long) &args->tid_addr, 0, 0, 0);
> >  	if (ret)
> > -		return ret;
> > +		goto err;
> >  
> >  	args->tid = sys_gettid();
> >  
> > -	return 0;
> > +	ksigfillset(&args->blocked);
> > +	ret = sys_sigprocmask(SIG_SETMASK, NULL, &args->blocked, sizeof(k_rtsigset_t));
> > +
> > +err:
> > +	return ret;
> >  }
> >  
> >  static int drain_fds(struct parasite_drain_fd *args)
> 
> No, this is wrong. Threads' blocked signals should be handled the same way as
> tasks' are.
Not sure if I follow you here. At moment task's signals are obtained from
parasite code, where they are saved once the task get infected with our
blob. Now when we run parasite code inside thread space we fetch blocked
signals, so what i'm missing?
    
    
More information about the CRIU
mailing list