haproxy/src
Willy Tarreau 818dca5098 BUG/MEDIUM: listener: improve detection of non-working accept4()
On ARM, glibc does not implement accept4() and simply returns ENOSYS
which was not caught as a reason to fall back to accept(), resulting
in a spinning process since poll() would call again.

Let's change the error detection mechanism to save the broken status
of the syscall into a local variable that is used to fall back to the
legacy accept().

In addition to this, since the code was becoming a bit messy, the
accept4() was removed, so now the fallback code and the legacy code
are the same. This will also increase bug report accuracy if needed.

This is 1.5-specific, no backport is needed.
2014-01-31 19:40:19 +01:00
..
acl.c BUG/MINOR: acl: parser must also stop at comma on ACL-only keywords 2013-12-16 22:01:06 +01:00
appsession.c BUILD: definitely silence some stupid GCC warnings 2013-12-13 15:21:36 +01:00
arg.c MINOR: arg: improve wording on error reporting 2013-12-13 00:38:47 +01:00
auth.c
backend.c MINOR: http: try to stick to same server after status 401/407 2013-12-23 15:12:44 +01:00
base64.c
buffer.c
cfgparse.c MAJOR: http: update connection mode configuration 2014-01-30 03:14:29 +01:00
channel.c MAJOR: channel: add a new flag CF_WAKE_WRITE to notify the task of writes 2013-12-31 18:37:36 +01:00
checks.c CLEANUP: connection: use conn_ctrl_ready() instead of checking the flag 2014-01-26 00:42:31 +01:00
chunk.c MINOR: chunks: always initialize the output chunk in get_trash_chunk() 2013-12-14 16:02:18 +01:00
compression.c
connection.c CLEANUP: connection: use conn_ctrl_ready() instead of checking the flag 2014-01-26 00:42:31 +01:00
cttproxy.c
dumpstats.c BUG/MINOR: cli: fix missing break in command line parser 2014-01-29 12:13:39 +01:00
ev_epoll.c MINOR: polling: create function fd_compute_new_polled_status() 2014-01-26 00:42:32 +01:00
ev_kqueue.c MINOR: polling: create function fd_compute_new_polled_status() 2014-01-26 00:42:32 +01:00
ev_poll.c MINOR: polling: create function fd_compute_new_polled_status() 2014-01-26 00:42:32 +01:00
ev_select.c MINOR: polling: create function fd_compute_new_polled_status() 2014-01-26 00:42:32 +01:00
fd.c MEDIUM: polling: centralize polled events processing 2014-01-26 00:42:32 +01:00
freq_ctr.c
frontend.c MEDIUM: connection: centralize handling of nolinger in fd management 2013-12-16 02:23:52 +01:00
haproxy-systemd-wrapper.c BUILD/MINOR: systemd: fix compiler warning about unused result 2013-12-10 08:50:55 +01:00
haproxy.c MEDIUM: ssl: Set verify 'required' as global default for servers side. 2014-01-29 17:08:15 +01:00
hash.c
hdr_idx.c
i386-linux-vsys.c
lb_chash.c
lb_fas.c
lb_fwlc.c
lb_fwrr.c
lb_map.c
listener.c BUG/MEDIUM: listener: improve detection of non-working accept4() 2014-01-31 19:40:19 +01:00
log.c BUG/MEDIUM: unique_id: HTTP request counter is not stable 2014-01-25 11:07:06 +01:00
map.c MINOR: map: export parse output sample functions 2013-12-12 15:44:05 +01:00
memory.c MINOR: cli: add the new "show pools" command 2014-01-28 16:50:35 +01:00
pattern.c BUG/MEDIUM: pattern: "pat_parse_dotted_ver()" set bad expect_type. 2014-01-27 16:23:01 +01:00
payload.c BUG/MINOR: payload: the patterns of the acl "req.ssl_ver" are no parsed with the good function. 2014-01-25 02:50:58 +01:00
peers.c MEDIUM: peers: delay appctx initialization 2013-12-09 15:40:23 +01:00
pipe.c
proto_http.c BUG/MEDIUM: http: fix regression caused by recent switch to keep-alive by default 2014-01-31 15:51:11 +01:00
proto_tcp.c MEDIUM: counters: stop relying on session flags at all 2014-01-28 23:34:45 +01:00
proto_uxst.c
protocol.c
proxy.c BUG/MINOR: config: correctly report when log-format headers require HTTP mode 2014-01-29 14:39:58 +01:00
queue.c
raw_sock.c OPTIM: raw-sock: don't speculate after a short read if polling is enabled 2014-01-26 00:42:32 +01:00
rbtree.c
regex.c MINOR: regex: Copy the original regex expression into string. 2013-12-12 15:43:34 +01:00
sample.c BUG/MINOR: sample: The c_str2int converter does not fail if the entry is not an integer 2014-01-27 19:04:18 +01:00
server.c MINOR: checks: use check->state instead of srv->state & SRV_CHECKED 2013-12-14 16:02:19 +01:00
session.c BUG/MEDIUM: listener: improve detection of non-working accept4() 2014-01-31 19:40:19 +01:00
sessionhash.c
shctx.c
signal.c
ssl_sock.c MEDIUM: ssl: Set verify 'required' as global default for servers side. 2014-01-29 17:08:15 +01:00
standard.c MINOR: standard: The parse_binary() returns the length consumed and his documentation is updated 2014-01-21 22:14:44 +01:00
stick_table.c BUG/MEDIUM: acl: fix regression introduced by latest converters support 2013-12-05 02:23:13 +01:00
stream_interface.c MINOR: stream-interface: no need to call fd_stop_both() on error 2014-01-26 00:42:31 +01:00
task.c
time.c
trace.c
uri_auth.c