Changes since version 1.8-rc2 : Daniel Schneller (1): DOC: Add note about encrypted password CPU usage Olivier Houchard (3): BUILD: use MAXPATHLEN instead of NAME_MAX. BUG/MINOR: dns: Don't try to get the server lock if it's already held. BUG/MINOR: dns: Don't lock the server lock in snr_check_ip_callback(). William Lallemand (4): MINOR: add master-worker in the warning about nbproc MINOR: mworker: allow pidfile in mworker + foreground MINOR: mworker: write parent pid in the pidfile MINOR: mworker: do not store child pid anymore in the pidfile Willy Tarreau (28): BUG/MAJOR: threads/checks: add 4 missing spin_unlock() in various functions BUG/MAJOR: threads/server: missing unlock in CLI fqdn parser BUG/MINOR: cli: do not perform an invalid action on "set server check-port" BUG/MAJOR: threads/checks: wrong use of SPIN_LOCK instead of SPIN_UNLOCK CLEANUP: checks: remove return statements in locked functions BUG/MINOR: cli: add severity in "set server addr" parser CLEANUP: server: get rid of return statements in the CLI parser BUG/MAJOR: cli/streams: missing unlock on exit "show sess" BUG/MAJOR: threads/dns: add missing unlock on allocation failure path BUG/MAJOR: threads/lb: fix missing unlock on consistent hash LB BUG/MAJOR: threads/lb: fix missing unlock on map-based hash LB BUG/MEDIUM: threads/stick-tables: close a race condition on stktable_trash_expired() BUG/MAJOR: h2: set the connection's task to NULL when no client timeout is set BUG/MAJOR: thread/listeners: enable_listener must not call unbind_listener() BUG/MEDIUM: threads: don't try to free build option message on exit MINOR: applets: no need to check for runqueue's emptiness in appctx_res_wakeup() MINOR: ebtree: implement the scope-aware functions for eb32 MEDIUM: ebtree: specify the scope of every node inserted via eb32sc MINOR: ebtree: update the eb32sc parent node's scope on delete MEDIUM: ebtree: only consider the branches matching the scope in lookups MINOR: ebtree: implement eb32sc_lookup_ge_or_first() MAJOR: task: make use of the scope-aware ebtree functions MINOR: task: simplify wake_expired_tasks() to avoid unlocking in the loop MEDIUM: task: change the construction of the loop in process_runnable_tasks() MINOR: threads: use faster locks for the spin locks MINOR: tasks: only visit filled task slots after processing them MEDIUM: tasks: implement a lockless scheduler for single-thread usage BUG/MINOR: h2: set the "HEADERS_SENT" flag on stream, not connection