]> git.ipfire.org Git - thirdparty/haproxy.git/commit
MINOR: task: provide 3 task_new_* wrappers to simplify the API
authorWilly Tarreau <w@1wt.eu>
Fri, 1 Oct 2021 16:23:30 +0000 (18:23 +0200)
committerWilly Tarreau <w@1wt.eu>
Fri, 1 Oct 2021 16:36:29 +0000 (18:36 +0200)
commitbeeabf531468bc2f40845a83e76726130dc9f98e
treeabbc9f00dd6b0a6157652520a4596d1cb354fdc0
parent6a2a912cb82b8114f31afb36777e3cd82a33dc8c
MINOR: task: provide 3 task_new_* wrappers to simplify the API

We'll need to improve the API to pass other arguments in the future, so
let's start to adapt better to the current use cases. task_new() is used:
  - 18 times as task_new(tid_bit)
  - 18 times as task_new(MAX_THREADS_MASK)
  - 2 times with a single bit (in a loop)
  - 1 in the debug code that uses a mask

This patch provides 3 new functions to achieve this:
  - task_new_here()     to create a task on the calling thread
  - task_new_anywhere() to create a task to be run anywhere
  - task_new_on()       to create a task to run on a specific thread

The change is trivial and will allow us to later concentrate the
required adaptations to these 3 functions only. It's still possible
to call task_new() if needed but a comment was added to encourage the
use of the new ones instead. The debug code was not changed and still
uses it.
23 files changed:
include/haproxy/applet.h
include/haproxy/task.h
src/cfgparse.c
src/check.c
src/connection.c
src/dns.c
src/flt_spoe.c
src/hlua.c
src/listener.c
src/mailers.c
src/mux_fcgi.c
src/mux_h1.c
src/mux_h2.c
src/mux_quic.c
src/peers.c
src/proxy.c
src/resolvers.c
src/server.c
src/session.c
src/sink.c
src/stick_table.c
src/stream.c
src/xprt_quic.c