loolwsd/LOOLWSD.cpp | 7 +++++++ loolwsd/loolwsd.xml.in | 5 +++++ loolwsd/test/Makefile.am | 2 ++ 3 files changed, 14 insertions(+)
New commits: commit e4de35737c6f6396a92ab02f599a4777e9547c55 Author: Ashod Nakashian <ashod.nakash...@collabora.co.uk> Date: Wed Jun 15 18:46:13 2016 -0400 loolwsd: max_concurrency setting added Change-Id: Iae3789d26ed2e1aba3806a6f99511fa6c7097988 (cherry picked from commit f7587443721c66b0cbf2243ae00d799bfa8c6891) Reviewed-on: https://gerrit.libreoffice.org/26509 Reviewed-by: Ashod Nakashian <ashnak...@gmail.com> Tested-by: Ashod Nakashian <ashnak...@gmail.com> diff --git a/loolwsd/LOOLWSD.cpp b/loolwsd/LOOLWSD.cpp index 192c332..1e27187 100644 --- a/loolwsd/LOOLWSD.cpp +++ b/loolwsd/LOOLWSD.cpp @@ -22,6 +22,7 @@ #include <sys/wait.h> #include <time.h> +#include <stdlib.h> #include <cassert> #include <condition_variable> @@ -1256,6 +1257,12 @@ void LOOLWSD::initialize(Application& self) NumPreSpawnedChildren = config().getUInt("num_prespawn_children", 1); } + const auto maxConcurrency = config().getInt("per_document.max_concurrency"); + if (maxConcurrency > 0) + { + setenv("MAX_CONCURRENCY", std::to_string(maxConcurrency).c_str(), 1); + } + StorageBase::initialize(); ServerApplication::initialize(self); diff --git a/loolwsd/loolwsd.xml.in b/loolwsd/loolwsd.xml.in index cb524a8..96c80dc 100644 --- a/loolwsd/loolwsd.xml.in +++ b/loolwsd/loolwsd.xml.in @@ -1,5 +1,7 @@ <config> + <!-- Note: 'default' attributes are used to document a setting's default value as well as to use as fallback. --> + <tile_cache_path desc="Path to a directory where to keep the tile cache." type="path" relative="false" default="@LOOLWSD_CACHEDIR@"></tile_cache_path> <sys_template_path desc="Path to a template tree with shared libraries etc to be used as source for chroot jails for child processes." type="path" relative="true" default="systemplate"></sys_template_path> <lo_template_path desc="Path to a LibreOffice installation tree to be copied (linked) into the jails for child processes. Should be on the same file system as systemplate." type="path" relative="false" default="/opt/collaboraoffice5.0"></lo_template_path> @@ -10,6 +12,9 @@ <file_server_root_path desc="Path to the directory that should be considered root for the file server. This should be the directory containing loleaflet." type="path" relative="true" default="../loleaflet/../"></file_server_root_path> <num_prespawn_children desc="Number of child processes to keep started in advance and waiting for new clients." type="uint" default="1">1</num_prespawn_children> + <per_document desc="Document-specific settings, including LO Core settings."> + <max_concurrency desc="The maximum number of threads to use while processing a document." type="uint" default="4">4</max_concurrency> + </per_document> <loleaflet_html desc="Allows UI customization by replacing the single endpoint of loleaflet.html" type="string" default="loleaflet.html">loleaflet.html</loleaflet_html> diff --git a/loolwsd/test/Makefile.am b/loolwsd/test/Makefile.am index c36cc2a..24c350c 100644 --- a/loolwsd/test/Makefile.am +++ b/loolwsd/test/Makefile.am @@ -1,3 +1,5 @@ +# Cap threads pools to 4. +export MAX_CONCURRENCY=4 AUTOMAKE_OPTION = serial-tests check_PROGRAMS = test _______________________________________________ Libreoffice-commits mailing list libreoffice-comm...@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/libreoffice-commits