Juan Quintela <quint...@redhat.com> writes: > Fabiano Rosas <faro...@suse.de> wrote: >> We don't need to check p->quit in the multifd_send_thread() because it >> is shadowed by the 'exiting' flag. Ever since that flag was added >> p->quit became obsolete as a way to stop the thread. >> >> Since p->quit is set at multifd_send_terminate_threads() under the >> p->mutex lock, the thread will only see it once it loops, so 'exiting' >> will always be seen first. >> >> Note that setting p->quit at multifd_send_terminate_threads() still >> makes sense because we need a way to inform multifd_send_pages() that >> the channel has stopped. >> >> Signed-off-by: Fabiano Rosas <faro...@suse.de> > > Reviewed-by: Juan Quintela <quint...@redhat.com> > > But then should we remove the quit altogether? >
It still serves a purpose to allow multifd_send_pages() to see that the channel has exited. While that function does also check multifd_send_state->exiting, it could already be waiting at the mutex when the channel aborts. So we need to either check 'exiting' again or keep p->quit.