On Thu, May 29, 2014 at 03:32:05PM -0700, Ansis Atteka wrote:
> Between fork() and execvp() calls in the process_start()
> function both child and parent processes share the same
> file descriptors.  This means that, if a child process
> received a signal during this time interval, then it could
> potentially write data to a shared file descriptor.
> 
> One such example is fatal signal handler, where, if
> child process received SIGTERM signal, then it would
> write data into pipe.  Then a read event would occur
> on the other end of the pipe where parent process is
> listening and this would make parent process to incorrectly
> believe that it was the one who received SIGTERM.
> Also, since parent process never reads data from this
> pipe, then this bug would make parent process to consume
> 100% CPU by immediately waking up from the event loop.
> 
> This patch will help to avoid this problem by blocking
> signals until child closes all its file descriptors.
> 
> Signed-off-by: Ansis Atteka <aatt...@nicira.com>
> Reported-by: Suganya Ramachandran <sugan...@vmware.com>
> Issue: 1255110

Acked-by: Ben Pfaff <b...@nicira.com>
_______________________________________________
dev mailing list
dev@openvswitch.org
http://openvswitch.org/mailman/listinfo/dev

Reply via email to