BUG/MEDIUM: init: don't limit cpu-map to the first 32 processes only
We have to allow 32 or 64 processes depending on the machine's word
size, and on 64-bit machines only the first 32 processes were properly
bound.
This fix should be backported to 1.5.
diff --git a/src/haproxy.c b/src/haproxy.c
index 752c4a2..1a913e3 100644
--- a/src/haproxy.c
+++ b/src/haproxy.c
@@ -1762,7 +1762,7 @@
#ifdef USE_CPU_AFFINITY
if (proc < global.nbproc && /* child */
- proc < 32 && /* only the first 32 processes may be pinned */
+ proc < LONGBITS && /* only the first 32/64 processes may be pinned */
global.cpu_map[proc]) /* only do this if the process has a CPU map */
sched_setaffinity(0, sizeof(unsigned long), (void *)&global.cpu_map[proc]);
#endif