haproxy/src
Willy Tarreau bbae3f0170 MEDIUM: connection: remove useless flag CO_FL_DATA_WR_SH
After careful inspection, this flag is set at exactly two places :
  - once in the health-check receive callback after receipt of a
    response
  - once in the stream interface's shutw() code where CF_SHUTW is
    always set on chn->flags

The flag was checked in the checks before deciding to send data, but
when it is set, the wake() callback immediately closes the connection
so the CO_FL_SOCK_WR_SH flag is also set.

The flag was also checked in si_conn_send(), but checking the channel's
flag instead is enough and even reveals that one check involving it
could never match.

So it's time to remove this flag and replace its check with a check of
CF_SHUTW in the stream interface. This way each layer is responsible
for its shutdown, this will ease insertion of the mux layer.
2017-08-30 10:05:49 +02:00
..
51d.c CLEANUP: 51d: move global settings out of the global section 2016-12-21 21:30:54 +01:00
acl.c BUG/MEDIUM: map/acl: fix unwanted flags inheritance. 2017-07-04 10:45:53 +02:00
applet.c MAJOR: applet: applet scheduler rework. 2017-06-27 14:38:02 +02:00
arg.c BUG/MEDIUM: arg: ensure that we properly unlink unresolved arguments on error 2017-04-13 12:20:52 +02:00
auth.c CLEANUP: auth: use the build options list to report its support 2016-12-21 21:30:54 +01:00
backend.c MINOR: backends: Change get_server_sh/get_server_uh into private function 2017-06-27 14:38:02 +02:00
base64.c [MINOR] add encode/decode function for 30-bit integers from/to base64 2010-10-30 19:04:33 +02:00
buffer.c CLEANUP: buffers: Remove buffer_bounce_realign function 2017-03-31 14:38:22 +02:00
cfgparse.c CLEANUP: listener: remove the unused handler field 2017-08-30 07:05:08 +02:00
channel.c BUG/MEDIUM: buffers: Fix how input/output data are injected into buffers 2017-03-31 14:36:04 +02:00
checks.c MEDIUM: connection: remove useless flag CO_FL_DATA_WR_SH 2017-08-30 10:05:49 +02:00
chunk.c MINOR: chunks: implement a simple dynamic allocator for trash buffers 2017-02-08 11:16:29 +01:00
cli.c CLEANUP: listener: remove the unused handler field 2017-08-30 07:05:08 +02:00
compression.c MINOR: compression: fix -vv output without zlib/slz 2017-01-11 16:11:11 +01:00
connection.c MEDIUM: connection: get rid of data->init() which was not for data 2017-08-30 07:04:04 +02:00
da.c CLEANUP: da: move global settings out of the global section 2016-12-21 21:30:54 +01:00
dns.c BUG/MINOR: dns: wrong resolution interval lead to 100% CPU 2017-08-22 11:40:00 +02:00
ev_epoll.c MINOR: fd: add a new flag HAP_POLL_F_RDHUP to struct poller 2017-03-21 16:30:35 +01:00
ev_kqueue.c MEDIUM: kqueue: only set FD_POLL_IN when there are pending data 2017-03-21 16:35:17 +01:00
ev_poll.c OPTIM: poll: enable support for POLLRDHUP 2017-03-21 16:30:44 +01:00
ev_select.c MINOR: fd: add a new flag HAP_POLL_F_RDHUP to struct poller 2017-03-21 16:30:35 +01:00
fd.c MINOR: proxy: Don't close FDs if not our proxy. 2017-04-13 19:15:17 +02:00
filters.c BUG/MEDIUM: filters: Be sure to call flt_end_analyze for both channels 2017-07-06 23:07:36 +02:00
flt_http_comp.c MINOR: compression: Use a memory pool to allocate compression states 2017-06-30 14:05:29 +02:00
flt_spoe.c MEDIUM: stream: make stream_new() allocate its own task 2017-08-30 07:05:04 +02:00
flt_trace.c MINOR: filters: Add check_timeouts callback to handle timers expiration on streams 2016-11-21 15:29:58 +01:00
freq_ctr.c BUG/MINOR: time: frequency counters are not totally accurate 2012-12-29 21:50:07 +01:00
frontend.c REORG/MEDIUM: connection: introduce the notion of connection handle 2017-08-24 19:30:04 +02:00
haproxy.c MINOR: init: Fix CPU affinity setting on FreeBSD. 2017-08-17 18:39:52 +02:00
hash.c MINOR: hash: add new function hash_crc32 2015-01-20 19:48:05 +01:00
hdr_idx.c OPTIM/MINOR: move the hdr_idx pools out of the proxy struct 2011-10-24 18:15:04 +02:00
hlua_fcn.c BUG/MINOR: lua: Fix bitwise logic for hlua_server_check_* functions. 2017-07-28 15:24:57 +02:00
hlua.c MEDIUM: stream: make stream_new() allocate its own task 2017-08-30 07:05:04 +02:00
i386-linux-vsys.c MEDIUM: listener: add support for linux's accept4() syscall 2012-10-08 20:11:03 +02:00
lb_chash.c BUG/MINOR: hash-balance-factor isn't effective in certain circumstances 2017-04-26 15:45:27 +02:00
lb_fas.c REORG/MEDIUM: server: split server state and flags in two different variables 2014-05-22 11:27:00 +02:00
lb_fwlc.c REORG/MEDIUM: server: split server state and flags in two different variables 2014-05-22 11:27:00 +02:00
lb_fwrr.c REORG/MEDIUM: server: split server state and flags in two different variables 2014-05-22 11:27:00 +02:00
lb_map.c CLEANUP: remove unneeded casts 2016-04-03 14:17:42 +02:00
listener.c MEDIUM: mworker: replace systemd mode by master worker mode 2017-06-02 10:56:32 +02:00
log.c BUG/MINOR: log: pin the front connection when front ip/ports are logged 2017-06-23 11:34:57 +02:00
lru.c MINOR: lru: new function to delete <nb> least recently used keys 2016-01-11 07:31:35 +01:00
mailers.c MEDIUM: Add parsing of mailers section 2015-02-03 00:24:16 +01:00
map.c BUG/MAJOR: map: fix segfault during 'show map/acl' on cli. 2017-06-30 06:49:42 +02:00
memory.c MINOR: memory: remove macros 2017-07-21 09:54:03 +02:00
namespace.c CLEANUP: namespaces: use the build options list to report it 2016-12-21 21:30:54 +01:00
pattern.c BUG/MEDIUM: map/acl: fix unwanted flags inheritance. 2017-07-04 10:45:53 +02:00
payload.c BUG: payload: fix payload not retrieving arbitrary lengths 2017-03-20 07:25:37 +01:00
peers.c MEDIUM: stream: make stream_new() allocate its own task 2017-08-30 07:05:04 +02:00
pipe.c BUILD/MINOR: silent a build warning in src/pipe.c (fcntl) 2011-10-24 17:09:22 +02:00
proto_http.c REORG/MEDIUM: connection: introduce the notion of connection handle 2017-08-24 19:30:04 +02:00
proto_tcp.c REORG/MEDIUM: connection: introduce the notion of connection handle 2017-08-24 19:30:04 +02:00
proto_udp.c CLEANUP: fix inconsistency between fd->iocb, proto->accept and accept() 2016-04-14 11:18:22 +02:00
proto_uxst.c REORG/MEDIUM: connection: introduce the notion of connection handle 2017-08-24 19:30:04 +02:00
protocol.c BUILD: protocol: fix some build errors on OpenBSD 2016-08-10 19:31:58 +02:00
proxy.c MINOR: dns: Handle SRV records. 2017-08-09 16:32:49 +02:00
queue.c MINOR: queue: Change pendconn_from_srv/pendconn_from_px into private functions 2017-06-27 14:38:02 +02:00
raw_sock.c REORG/MEDIUM: connection: introduce the notion of connection handle 2017-08-24 19:30:04 +02:00
rbtree.c [MINOR] imported the rbtree function from Linux kernel 2007-01-07 02:12:57 +01:00
regex.c MEDIUM: regex: pcre2 support 2016-12-28 12:51:51 +01:00
sample.c MINOR: samples: Handle the type SMP_T_METH when we duplicate a sample in smp_dup 2017-07-24 17:15:47 +02:00
server.c BUG/MINOR: dns: server set by SRV records stay in "no resolution" status 2017-08-22 11:34:49 +02:00
session.c MINOR: stream: provide a new stream creation function for connections 2017-08-30 07:06:39 +02:00
shctx.c MEDIUM: ssl: Add support for OpenSSL 1.1.0 2016-11-08 20:54:41 +01:00
signal.c MEDIUM: mworker: handle reload and signals 2017-06-02 10:56:32 +02:00
ssl_sock.c REORG/MEDIUM: connection: introduce the notion of connection handle 2017-08-24 19:30:04 +02:00
standard.c MINOR: tools: add a portable timegm() alternative 2017-07-19 19:15:06 +02:00
stats.c MINOR: cli: add ACCESS_LVL_MASK to store the access level 2017-05-27 07:02:06 +02:00
stick_table.c CLEANUP: task: remove all initializations to TICK_ETERNITY after task_new() 2017-07-24 17:55:20 +02:00
stream_interface.c MEDIUM: connection: remove useless flag CO_FL_DATA_WR_SH 2017-08-30 10:05:49 +02:00
stream.c MINOR: stream: provide a new stream creation function for connections 2017-08-30 07:06:39 +02:00
task.c MAJOR: task: task scheduler rework. 2017-06-27 14:38:02 +02:00
tcp_rules.c MINOR: tcp-rules: check that the listener exists before updating its counters 2016-12-22 23:26:37 +01:00
time.c CLEANUP: time: curr_sec_ms doesn't need to be exported 2017-03-29 15:24:33 +02:00
trace.c BUG/MEDIUM: trace.c: rdtsc() is defined in two files 2016-04-09 22:27:01 +02:00
uri_auth.c CLEANUP: uniformize last argument of malloc/calloc 2016-04-03 14:17:42 +02:00
vars.c MINOR: samples: Don't allocate memory for SMP_T_METH sample when method is known 2017-07-24 17:16:11 +02:00
wurfl.c CLEANUP: wurfl: move global settings out of the global section 2016-12-21 21:30:54 +01:00
xxhash.c CLEANUP: remove unneeded casts 2016-04-03 14:17:42 +02:00