haproxy/include/proto
Willy Tarreau bd20a9dd4e BUG: tasks: fix bug introduced by latest scheduler cleanup
In commit 86eded6c6 ("CLEANUP: tasks: rename task_remove_from_tasklet_list()
to tasklet_remove_*") which consisted in removing the casts between tasks
and tasklet, I was a bit too fast to believe that we only saw tasklets in
this function since process_runnable_tasks() also uses it with tasks under
a cast. So removing the bookkeeping on task_list_size was not appropriate.
Bah, the joy of casts which hide the real thing...

This patch does two things at once to address this mess once for all:
  - it restores the decrement of task_list_size when it's a real task,
    but moves it to process_runnable_task() since it's the only place
    where it's allowed to call it with a task

  - it moves the increment there as well and renames
    task_insert_into_tasklet_list() to tasklet_insert_into_tasklet_list()
    of obvious consistency reasons.

This way the increment/decrement of task_list_size is made at the only
places where the cast is enforced, so it has less risks to be missed.
The comments on top of these functions were updated to reflect that they
are only supposed to be used with tasklets and that the caller is responsible
for keeping task_list_size up to date if it decides to enforce a task there.

Now we don't have to worry anymore about how these functions work outside
of the scheduler, which is better longterm-wise. Thanks to Christopher for
spotting this mistake.

No backport is needed.
2019-06-14 18:16:19 +02:00
..
acl.h
action.h MINOR: action: new '(http-request|tcp-request content) do-resolve' action 2019-04-23 11:41:52 +02:00
activity.h MINOR: time: move the cpu, mono, and idle time to thread_info 2019-05-20 21:14:14 +02:00
applet.h MINOR: applet: measure and report an appctx's call rate in "show sess" 2019-04-24 16:04:23 +02:00
arg.h
auth.h
backend.h BUG/MAJOR: lb/threads: fix insufficient locking on round-robin LB 2019-04-16 11:21:14 +02:00
channel.h CLEANUP: channel: Remove channel_htx_fwd_payload() and channel_htx_fwd_all() 2019-06-14 11:13:32 +02:00
checks.h
cli.h MINOR: cli: export cli_parse_default() definition in cli.h 2019-04-01 14:45:37 +02:00
compression.h
connection.h BUG/MEDIUM: connections: Don't call shutdown() if we want to disable linger. 2019-06-14 15:33:41 +02:00
dict.h MINOR: dict: Add dictionary new data structure. 2019-06-05 08:33:35 +02:00
dns.h MINOR: action: new '(http-request|tcp-request content) do-resolve' action 2019-04-23 11:41:52 +02:00
fd.h MINOR: fd: Don't use atomic operations when it's not needed. 2019-06-12 14:36:24 +02:00
filters.h
flt_http_comp.h
freq_ctr.h OPTIM: freq-ctr: don't take the date lock for most updates 2019-05-25 20:31:53 +02:00
frontend.h
hdr_idx.h
hlua_fcn.h
hlua.h
http_fetch.h BUG/MINOR: http_fetch/htx: Allow permissive sample prefetch for the HTX 2019-04-17 15:12:27 +02:00
http_htx.h MINOR: htx: Replace the function http_find_stline() by http_get_stline() 2019-05-28 07:42:12 +02:00
http_rules.h
lb_chash.h
lb_fas.h
lb_fwlc.h
lb_fwrr.h
lb_map.h
listener.h
log.h MINOR: log: Enable the log sampling and load-balancing feature. 2019-04-30 09:25:09 +02:00
map.h
mux_pt.h
mworker.h BUG/MINOR: mworker: Fix memory leak of mworker_proc members 2019-05-22 11:29:18 +02:00
obj_type.h CLEANUP: objtype: make obj_type() and obj_type_name() take consts 2019-05-22 11:50:48 +02:00
pattern.h
payload.h
peers.h MINOR: peers: Make peers protocol support new "server_name" data type. 2019-06-05 08:42:33 +02:00
pipe.h
port_range.h BUG/MEDIUM: port_range: Make the ring buffer lock-free. 2019-04-30 15:10:17 +02:00
proto_http.h MINOR: htx: Move the macro IS_HTX_STRM() in proto/stream.h 2019-05-28 07:42:12 +02:00
proto_sockpair.h
proto_tcp.h MEDIUM: proto: Change the prototype of the connect() method. 2019-05-06 22:12:57 +02:00
proto_udp.h
protocol_buffers.h
protocol.h
proxy.h MEDIUM: streams: Add the ability to retry a request on L7 failure. 2019-05-04 10:19:56 +02:00
queue.h
raw_sock.h
sample.h
server.h MEDIUM: connections: Add a way to control the number of idling connections. 2019-04-18 19:52:03 +02:00
session.h BUG/MEDIUM: connections: Make sure we remove CO_FL_SESS_IDLE on disown. 2019-05-02 12:08:39 +02:00
shctx.h
signal.h
spoe.h BUG/MEDIUM: spoe: Be sure the sample is found before setting its context 2019-05-07 22:16:41 +02:00
ssl_sock.h MINOR: ssl: Make ssl_sock_handshake() static. 2019-06-05 18:03:38 +02:00
stats.h
stick_table.h MINOR: stick-table: Add "server_name" new data type. 2019-06-05 08:33:35 +02:00
stream_interface.h CLEANUP: connection: rename the wait_event.task field to .tasklet 2019-06-14 14:42:29 +02:00
stream.h MINOR: htx: Move the macro IS_HTX_STRM() in proto/stream.h 2019-05-28 07:42:12 +02:00
task.h BUG: tasks: fix bug introduced by latest scheduler cleanup 2019-06-14 18:16:19 +02:00
tcp_rules.h
template.h
vars.h