The vhost-user specification is not clearly stating the expected behavior from a backend program whenever the client disconnects.
This patch addresses the issue by defining the default behavior and proposing an alternative through a command line option. By default, a backend program will terminate whenever the client disconnects, unless told otherwise through the newly introduced option --keep-listening. Signed-off-by: Sebastien Boeuf <sebastien.bo...@intel.com> Signed-off-by: Stefan Hajnoczi <stefa...@redhat.com> --- docs/interop/vhost-user.rst | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/docs/interop/vhost-user.rst b/docs/interop/vhost-user.rst index 5f8b3a456b..078f8e2e57 100644 --- a/docs/interop/vhost-user.rst +++ b/docs/interop/vhost-user.rst @@ -1323,6 +1323,10 @@ The backend program must end (as quickly and cleanly as possible) when the SIGTERM signal is received. Eventually, it may receive SIGKILL by the management layer after a few seconds. +By default, the backend program terminates after the client disconnects. +This is useful to keep the backend program's lifetime synchronized with +its client process. + The following command line options have an expected behaviour. They are mandatory, unless explicitly said differently: @@ -1337,6 +1341,14 @@ are mandatory, unless explicitly said differently: vhost-user socket as file descriptor FDNUM. It is incompatible with --socket-path. +--keep-listening + + When this option is provided, the backend program must keep listening + after the client disconnects. It accepts only 1 connection at a time + on each UNIX domain socket. This prevents the management layer from + having to spawn a new backend program each and every time the client + disconnects. + --print-capabilities Output to stdout the backend capabilities in JSON format, and then -- 2.20.1 --------------------------------------------------------------------- Intel Corporation SAS (French simplified joint stock company) Registered headquarters: "Les Montalets"- 2, rue de Paris, 92196 Meudon Cedex, France Registration Number: 302 456 199 R.C.S. NANTERRE Capital: 4,572,000 Euros This e-mail and any attachments may contain confidential material for the sole use of the intended recipient(s). Any review or distribution by others is strictly prohibited. If you are not the intended recipient, please contact the sender and delete all copies.