]> git.ipfire.org Git - thirdparty/haproxy.git/commitdiff
BUG/MEDIUM: threads: properly fix nbthreads == MAX_THREADS
authorWilly Tarreau <w@1wt.eu>
Mon, 30 Jul 2018 08:44:51 +0000 (10:44 +0200)
committerWilly Tarreau <w@1wt.eu>
Mon, 30 Jul 2018 09:10:26 +0000 (11:10 +0200)
While moving Olivier's patch for nbthread==MAX_THREADS in commit
3e12304 ("BUG/MINOR: threads: Handle nbthread == MAX_THREADS.") to
hathreads.c, I missed one place resulting in the computed thread mask
being used as the thread count, which is worse than the initial bug.
Let's fix it properly this time.

This fix must be backported to 1.8 just like the other one.

src/haproxy.c

index a1743916315abe9c432e937c7ec0b9004dbdd99a..8525593e2e38ceeb2f4079e2932262aa6cdaed3d 100644 (file)
@@ -3030,7 +3030,7 @@ int main(int argc, char **argv)
                int          i;
                sigset_t     blocked_sig, old_sig;
 
-               THREAD_SYNC_INIT((1UL << global.nbthread) - 1);
+               THREAD_SYNC_INIT(global.nbthread);
 
                /* Init tids array */
                for (i = 0; i < global.nbthread; i++)