BUG/MINOR: mworker/cli: reload fail with inherited FD
When using the master CLI with 'fd@', during a reload, the master CLI
proxy is stopped. Unfortunately if this is an inherited FD it is closed
too, and the master CLI won't be able to bind again during the
re-execution. It lead the master to fallback in waitpid mode.
This patch forbids the inherited FDs in the master's listeners to be
closed during a proxy_stop().
This patch is mandatory to use the -W option in VTest versions that contain the
-mcli feature.
(86e65f1024
)
Should be backported as far as 1.9.
This commit is contained in:
parent
a9363eb6a5
commit
f7f488d8e9
@ -1262,7 +1262,11 @@ void stop_proxy(struct proxy *p)
|
||||
nostop = 1;
|
||||
continue;
|
||||
}
|
||||
unbind_listener(l);
|
||||
/* The master should not close an inherited FD */
|
||||
if (master && (l->options & LI_O_INHERITED))
|
||||
unbind_listener_no_close(l);
|
||||
else
|
||||
unbind_listener(l);
|
||||
if (l->state >= LI_ASSIGNED) {
|
||||
delete_listener(l);
|
||||
}
|
||||
|
Loading…
x
Reference in New Issue
Block a user