Re: signalfd() semantics after execve()

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Sat, 14 Jul 2007, Michael Kerrisk wrote:

> Davide, 
> 
> I'm working on the signalfd(2) man page, and I've come
> acorss some puzzling behaviour...  
> 
> What are the intended semantics of a signalfd file descriptor
> after an execve()?
> 
> As far as I can work out, after an execve() the file descriptor
> is still available, but reads from it always return 0, even if:
> 
> a) there were signals pending before the execve().
>    However, sigpending() shows the signal as pending,
>    and the signal can be accepted using sigwaitinfo().
> 
> b) we generate a signal after the execve().
>  
> Is this intended behavior (the "orphaned sighand" condition
> mentioned in the draft man page you sent me?)?  Is it a bug?

It is the intended behaviour. Just like reading from a socket where the 
remote peer disconnected. A return 0 from a read from a signalfd should be 
interpreted as the "virtual connection" with the signal source has been 
dropped.



- Davide


-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to [email protected]
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

[Index of Archives]     [Kernel Newbies]     [Netfilter]     [Bugtraq]     [Photo]     [Stuff]     [Gimp]     [Yosemite News]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Video 4 Linux]     [Linux for the blind]     [Linux Resources]
  Powered by Linux