haproxy/include/types
Willy Tarreau 8cdc167df8 BUG/MEDIUM: task: make tasklets either local or shared but not both at once
Tasklets may be woken up to run on the calling thread or by a specific thread
(the owner). But since we use a non-thread safe mechanism when the calling
thread is also the for the owner, there may sometimes be collisions when two
threads decide to wake the same tasklet up at the same time and one of them
is the owner.

This is more of a matter of usage than code, in that a tasklet usually is
designed to be woken up and executed on the calling thread only (most cases)
or on a specific thread. Thus it is a property of the tasklet itself as this
solely depends how the code is constructed around it.

This patch performs a small change to address this. By default tasklet_new()
creates a "local" tasklet, which will run on the calling thread, like in 2.0.
This is done by setting tl->tid to a negative value. If the caller wants the
tasklet to run exclusively on a specific thread, it just has to set tl->tid,
which is already what shared tasklet callers do anyway.

No backport is needed.
2019-10-18 09:04:55 +02:00
..
acl.h
action.h MINOR: action: Add the return code ACT_RET_DONE for actions 2019-07-05 14:26:14 +02:00
activity.h MAJOR: fd: Get rid of the fd cache. 2019-07-31 14:12:55 +02:00
applet.h MINOR: cli: extend the CLI context with a list and two offsets 2019-08-30 11:58:58 +02:00
arg.h MEDIUM: stick-table: Stop handling stick-tables as proxies. 2019-05-07 06:54:06 +02:00
auth.h
backend.h MEDIUM: backend: move all LB algo parameters into an union 2019-01-14 19:33:17 +01:00
capture.h
channel.h CLEANUP: channel: Remove the unused flag CF_WAKE_CONNECT 2019-07-19 09:24:12 +02:00
checks.h MEDIUM: connection: Upstream SOCKS4 proxy support 2019-05-31 17:24:06 +02:00
cli.h MINOR: cli: add two new states to print messages on the CLI 2019-08-09 10:11:38 +02:00
compression.h
connection.h MINOR: connection: add the fc_pp_authority fetch -- authority TLV, from PROXYv2 2019-08-28 17:16:20 +02:00
counters.h MINOR: cache: report the number of cache lookups and cache hits 2018-12-14 14:00:25 +01:00
dict.h MINOR: dict: Store the length of the dictionary entries. 2019-06-07 15:47:54 +02:00
dns.h BUG/MEDIUM: dns: make the port numbers unsigned 2019-05-22 20:07:45 +02:00
fcgi-app.h MEDIUM: fcgi-app: Add FCGI application and filter 2019-09-17 10:18:54 +02:00
fd.h MINOR: fd: add two flags ERR and SHUT to describe FD states 2019-09-06 18:33:07 +02:00
filters.h MAJOR: filters: Remove code relying on the legacy HTTP mode 2019-07-19 09:18:27 +02:00
freq_ctr.h
global.h MEDIUM: list: Separate "locked" list from regular list. 2019-09-23 18:16:08 +02:00
hlua.h MINOR: hlua: Add a flag on the lua txn to know in which context it can be used 2019-07-29 11:17:52 +02:00
http_ana.h MINOR: http-ana: Remove err_state field from http_msg 2019-09-17 10:18:54 +02:00
http_htx.h REORG: htx: merge types+proto into common/htx.h 2018-12-11 17:15:04 +01:00
lb_chash.h MINOR: backend: move hash_balance_factor out of chash 2019-01-14 19:33:17 +01:00
lb_fas.h
lb_fwlc.h
lb_fwrr.h
lb_map.h
listener.h MEDIUM: ssl/cli: 'set ssl cert' updates a certificate from the CLI 2019-10-11 17:32:03 +02:00
log.h MEDIUM: log: add support for logging to a ring buffer 2019-08-30 15:24:59 +02:00
mailers.h
map.h
obj_type.h MINOR: obj_type: new object type for struct stream 2019-04-23 11:35:56 +02:00
pattern.h
peers.h MINOR: peers: Optimization for dictionary cache lookup. 2019-06-07 15:47:54 +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_udp.h
protocol_buffers.h MINOR: sample: Rework gRPC converter code. 2019-03-05 11:04:23 +01:00
protocol.h BUG/MEDIUM: protocols: add a global lock for the init/deinit stuff 2019-07-24 16:45:02 +02:00
proxy.h MEDIUM: list: Separate "locked" list from regular list. 2019-09-23 18:16:08 +02:00
queue.h
ring.h MEDIUM: ring: implement a wait mode for watchers 2019-08-30 11:58:58 +02:00
sample.h MAJOR: http: Remove the HTTP legacy code 2019-07-19 09:24:12 +02:00
server.h MEDIUM: list: Separate "locked" list from regular list. 2019-09-23 18:16:08 +02:00
session.h MEDIUM: sessions: Introduce session flags. 2019-05-29 15:41:47 +02:00
shctx.h MINOR: shctx: Change max. object size type to unsigned int. 2018-10-26 04:54:40 +02:00
signal.h
sink.h MINOR: sink: now report the number of dropped events on output 2019-08-27 17:14:19 +02:00
spoe.h MINOR: spoe: Support the async mode with several threads 2019-09-26 16:51:02 +02:00
ssl_sock.h MINOR: ssl: load the ocsp in/from the ckch 2019-10-11 17:32:03 +02:00
stats.h MINOR: stats: support the "desc" output format modifier for info and stat 2019-10-10 11:30:07 +02:00
stick_table.h MINOR: stick-table: Add "server_name" new data type. 2019-06-05 08:33:35 +02:00
stream_interface.h MEDIUM: stream-int: introduce a new state SI_ST_RDY 2019-06-06 16:36:19 +02:00
stream.h BUG/MEDIUM: proxy: Make sure to destroy the stream on upgrade from TCP to H2 2019-08-02 18:28:58 +02:00
task.h BUG/MEDIUM: task: make tasklets either local or shared but not both at once 2019-10-18 09:04:55 +02:00
template.h
trace.h MINOR: trace: change the detail_level to per-source verbosity 2019-08-29 17:11:25 +02:00
vars.h