commit | 1256836ebf4f1563bade396ec4f9715fc4c9f044 | [log] [tgz] |
---|---|---|
author | Olivier Houchard <ohouchard@haproxy.com> | Wed Jan 31 18:07:29 2018 +0100 |
committer | Willy Tarreau <w@1wt.eu> | Mon Feb 05 16:02:22 2018 +0100 |
tree | 8e055c318da4eca5f4032bdfdfd9b7086e6f6751 | |
parent | 4815c8cbfe7817939bcac7adc18fd9f86993e4fc [diff] |
MEDIUM: fd/threads: Make sure we don't miss a fd cache entry. An fd cache entry might be removed and added at the end of the list, while another thread is parsing it, if that happens, we may miss fd cache entries, to avoid that, add a new field in the struct fdtab, "added_mask", which contains a mask for potentially affected threads, if it is set, the corresponding thread will set its bit in fd_cache_mask, to avoid waiting in poll while it may have more work to do.