]> git.ipfire.org Git - thirdparty/haproxy.git/commit
MEDIUM: buffer: remove the buffer_wq lock
authorWilly Tarreau <w@1wt.eu>
Wed, 26 Feb 2020 09:39:36 +0000 (10:39 +0100)
committerWilly Tarreau <w@1wt.eu>
Wed, 26 Feb 2020 09:39:36 +0000 (10:39 +0100)
commit2104659cd5a7d7547e171a814cd85c2e402b8d86
tree804e1985aa84332ed723e2fef614b958213c963f
parent32bf97fb6048e0fb7afe8c336e6a1594fbde9430
MEDIUM: buffer: remove the buffer_wq lock

This lock was only needed to protect the buffer_wq list, but now we have
the mt_list for this. This patch simply turns the buffer_wq list to an
mt_list and gets rid of the lock.

It's worth noting that the whole buffer_wait thing still looks totally
wrong especially in a threaded context: the wakeup_cb() callback is
called synchronously from any thread and may end up calling some
connection code that was not expected to run on a given thread. The
whole thing should probably be reworked to use tasklets instead and be
a bit more centralized.
include/common/buffer.h
include/common/hathreads.h
include/proto/applet.h
include/proto/channel.h
src/buffer.c
src/flt_spoe.c
src/mux_fcgi.c
src/mux_h1.c
src/mux_h2.c
src/stream.c