Re: [PATCH v2 20/20] signal: Don't restart fork when signals come in.

2018-07-24 Thread Eric W. Biederman
Linus Torvalds writes: > On Tue, Jul 24, 2018 at 1:40 PM Eric W. Biederman > wrote: >> >> + if (signal_pending(current)) { >> + retval = restart_syscall(); >> + goto fork_out; >> + } > > Oh, the previous version had this too, but it wasn't as obvious >

Re: [PATCH v2 20/20] signal: Don't restart fork when signals come in.

2018-07-24 Thread Eric W. Biederman
Linus Torvalds writes: > On Tue, Jul 24, 2018 at 1:40 PM Eric W. Biederman > wrote: >> >> + if (signal_pending(current)) { >> + retval = restart_syscall(); >> + goto fork_out; >> + } > > Oh, the previous version had this too, but it wasn't as obvious >

Re: [PATCH v2 20/20] signal: Don't restart fork when signals come in.

2018-07-24 Thread Linus Torvalds
On Tue, Jul 24, 2018 at 1:40 PM Eric W. Biederman wrote: > > + if (signal_pending(current)) { > + retval = restart_syscall(); > + goto fork_out; > + } Oh, the previous version had this too, but it wasn't as obvious because it was just in a single line:

Re: [PATCH v2 20/20] signal: Don't restart fork when signals come in.

2018-07-24 Thread Linus Torvalds
On Tue, Jul 24, 2018 at 1:40 PM Eric W. Biederman wrote: > > + if (signal_pending(current)) { > + retval = restart_syscall(); > + goto fork_out; > + } Oh, the previous version had this too, but it wasn't as obvious because it was just in a single line:

[PATCH v2 20/20] signal: Don't restart fork when signals come in.

2018-07-24 Thread Eric W. Biederman
Wen Yang and majiang report that a periodic signal received during fork can cause fork to continually restart preventing an application from making progress. The code was being overly pesimistic. Fork needs to guarantee that a signal sent to multiple processes is logically delivered before

[PATCH v2 20/20] signal: Don't restart fork when signals come in.

2018-07-24 Thread Eric W. Biederman
Wen Yang and majiang report that a periodic signal received during fork can cause fork to continually restart preventing an application from making progress. The code was being overly pesimistic. Fork needs to guarantee that a signal sent to multiple processes is logically delivered before