BUILD: debug: avoid a build warning related to epoll_wait() in debug code

Ilya reported in issue #2193 that the latest Fedora complains about us
passing NULL to epoll_wait() in the "debug dev fd" code to try to detect
an epoll FD. That was intentional to get the kernel's verifications and
make sure we're facing a poller, but since such a warning comes from the
libc, it's possible that it plans to replace the syscall with a wrapper
in the near future (e.g. epoll_pwait()), and that just hiding the NULL
(as was confirmed to work) might just postpone the problem.

Let's take another approach, instead we'll create a new dummy FD that
we'll try to remove from the epoll set using epoll_ctl(). Since we
created the FD we're certain it cannot be there.  In this case (and
only in this case) epoll_ctl() will return -ENOENT, otherwise it will
typically return EINVAL or EBADF. It was verified that it works and
doesn't return false positives for other FD types. It should be
backported to the branches that contain a backport of the commit which
introduced the feature, apparently as far as 2.4:

  5be7c198e ("DEBUG: cli: add a new "debug dev fd" expert command")

(cherry picked from commit 1f60133bfbd872010f4b1d524d05e70623ff0360)
Signed-off-by: Christopher Faulet <cfaulet@haproxy.com>
(cherry picked from commit 2058f53fc5cbe039573d5f0a50ef1ecbc14691e3)
Signed-off-by: Christopher Faulet <cfaulet@haproxy.com>
(cherry picked from commit 017945342302e796bbc32c441186b922b1bb36ae)
Signed-off-by: Christopher Faulet <cfaulet@haproxy.com>
(cherry picked from commit 792e8f278f13ad53ae12ae68d319b42c1587fbd2)
Signed-off-by: Christopher Faulet <cfaulet@haproxy.com>
1 file changed