haproxy/src
Willy Tarreau 77cb067142 [BUG] stream_sock: always shutdown(SHUT_WR) before closing
When we close a socket with unread data in the buffer, or when the
nolinger option is set, we regularly lose the last fragment, which
often contains the error message. This typically occurs when sending
too large a request. Only the RST is seen due to the close() (since
not all data were read) and the output message never reaches the
network.

Doing a shutdown() before the close() solves this annoying issue
because the data are really pushed before the system sends the RST.
(cherry picked from commit 720058cdcb)
2009-07-14 20:24:27 +02:00
..
acl.c [BUG] default ACLs did not properly set the ->requires flag 2009-07-14 20:20:54 +02:00
appsession.c [MINOR] task: keep a task count and clean up task creators 2009-03-21 18:13:21 +01:00
backend.c [MEDIUM] support setting a server weight to zero 2009-07-14 20:15:27 +02:00
base64.c [BUILD] change declaration of base64tab to fix build with Intel C++ 2008-06-29 17:17:38 +02:00
buffers.c [OPTIM] buffer: replace rlim by max_len 2009-01-09 11:14:39 +01:00
cfgparse.c [MEDIUM] config: split parser and checker in two functions 2009-07-14 20:17:07 +02:00
checks.c [MEDIUM] add support for binding to source port ranges during connect 2009-07-14 20:13:26 +02:00
client.c [MINOR] compute the max of sessions/s on fe/be/srv 2009-05-10 18:52:49 +02:00
cttproxy.c [CLEANUP] remove many #include <types/xxx> from C files 2008-07-16 10:30:42 +02:00
dumpstats.c [MINOR] stats/html: use the arial font before helvetica 2009-05-10 20:13:32 +02:00
eb32tree.c [MINOR] update ebtree to version 4.1 2009-03-21 10:23:36 +01:00
eb64tree.c [MINOR] merge ebtree version 3.0 2007-11-28 14:20:44 +01:00
ebpttree.c [MINOR] merge ebtree version 3.0 2007-11-28 14:20:44 +01:00
ebtree.c [MINOR] merge ebtree version 3.0 2007-11-28 14:20:44 +01:00
ev_epoll.c [BUG] O(1) pollers should check their FD before closing it 2009-05-10 10:18:54 +02:00
ev_kqueue.c [BUG] O(1) pollers should check their FD before closing it 2009-05-10 10:18:54 +02:00
ev_poll.c [MEDIUM] pollers: don't wait if a signal is pending 2009-05-10 09:57:21 +02:00
ev_select.c [MEDIUM] pollers: don't wait if a signal is pending 2009-05-10 09:57:21 +02:00
ev_sepoll.c [BUG] O(1) pollers should check their FD before closing it 2009-05-10 10:18:54 +02:00
fd.c [MEDIUM] add support for binding to source port ranges during connect 2009-07-14 20:13:26 +02:00
freq_ctr.c [OPTIM] freq_ctr: do not rotate the counters when reading 2009-03-06 14:29:25 +01:00
haproxy.c [MEDIUM] config: support loading multiple configuration files 2009-07-14 20:17:13 +02:00
hdr_idx.c [CLEANUP] remove many #include <types/xxx> from C files 2008-07-16 10:30:42 +02:00
log.c [MINOR] implement per-logger log level limitation 2009-05-10 17:20:05 +02:00
memory.c [MEDIUM] ensure we don't recursively call pool_gc2() 2009-04-21 02:17:45 +02:00
pipe.c [MEDIUM] introduce pipe pools 2009-01-25 13:49:53 +01:00
proto_http.c [CLEANUP] remove unused DEBUG_PARSE_NO_SPEEDUP define 2009-07-14 20:20:18 +02:00
proto_tcp.c [BUG] fix parser crash on unconditional tcp content rules 2009-05-10 12:22:39 +02:00
proto_uxst.c [BUG] reject unix accepts when connection limit is reached 2009-03-28 11:02:18 +01:00
protocols.c [CLEANUP] remove many #include <types/xxx> from C files 2008-07-16 10:30:42 +02:00
proxy.c [MEDIUM] config: split parser and checker in two functions 2009-07-14 20:17:07 +02:00
queue.c [BUG] do not dequeue the backend's pending connections on a dead server 2008-12-07 23:51:12 +01:00
rbtree.c [MINOR] imported the rbtree function from Linux kernel 2007-01-07 02:12:57 +01:00
regex.c [CLEANUP] shut warnings 'is*' macros from ctype.h on solaris 2007-06-17 21:51:38 +02:00
server.c [CLEANUP] remove many #include <types/xxx> from C files 2008-07-16 10:30:42 +02:00
session.c [BUG] reset the stream_interface connect timeout upon connect or error 2009-03-28 11:01:20 +01:00
sessionhash.c [PATCH] appsessions: cleanup DEBUG_HASH and initialize request_counter 2008-08-13 23:43:26 +02:00
signal.c [MINOR] add basic signal handling functions 2009-05-10 09:24:23 +02:00
standard.c [MEDIUM] add support for binding to source port ranges during connect 2009-07-14 20:13:26 +02:00
stream_interface.c [CLEANUP] buffer_flush() was misleading, rename it as buffer_erase 2009-03-08 20:33:29 +01:00
stream_sock.c [BUG] stream_sock: always shutdown(SHUT_WR) before closing 2009-07-14 20:24:27 +02:00
task.c [MINOR] show sess: report number of calls to each task 2009-03-28 17:54:35 +01:00
time.c [MINOR] add curr_sec_ms and curr_sec_ms_scaled for current second. 2009-03-05 16:56:16 +01:00
uri_auth.c [CLEANUP] remove 65 useless NULL checks before free 2008-08-03 20:48:50 +02:00