BUILD: epoll/threads: Add test on MAX_THREADS to avoid warnings when complied without threads

When HAProxy is complied without threads, gcc throws following warnings:

  src/ev_epoll.c:222:3: warning: array subscript is outside array bounds [-Warray-bounds]
  ...
  src/ev_epoll.c:199:11: warning: array subscript is outside array bounds [-Warray-bounds]
  ...

Of course, this is not a bug. In such case, tid is always equal to 0. But to
avoid the noise, a check on MAX_THREADS in "if (tid)" lines makes gcc happy.

This patch should be backported in 1.8 with the commit d9e7e36c ("BUG/MEDIUM:
epoll/threads: use one epoll_fd per thread").
This commit is contained in:
Christopher Faulet 2018-01-25 16:18:09 +01:00 committed by Willy Tarreau
parent da18b9db7b
commit 3e805ed08e

View File

@ -195,7 +195,7 @@ static int init_epoll_per_thread()
if (epoll_events == NULL)
goto fail_alloc;
if (tid) {
if (MAX_THREADS > 1 && tid) {
epoll_fd[tid] = epoll_create(global.maxsock + 1);
if (epoll_fd[tid] < 0)
goto fail_fd;
@ -218,7 +218,7 @@ static int init_epoll_per_thread()
static void deinit_epoll_per_thread()
{
if (tid)
if (MAX_THREADS > 1 && tid)
close(epoll_fd[tid]);
free(epoll_events);