libreoffice-online/wsd/coolwsd-inproc.cpp
Jaume Pujantell 35d6e2925f use isKitInProcess() instead of KIT_IN_PROCESS
Removed all uses of KIT_IN_PROCESS, used Utils::isKitInProcess()
when necessary. Also removed the now unused parameter 'limit' from
forkLibreOfficeKit.

Signed-off-by: Jaume Pujantell <jaume.pujantell@collabora.com>
Change-Id: I068d3f55ab49076590f111847c87b3188f4d25d0
2023-12-18 10:34:10 +00:00

38 lines
1 KiB
C++

/*
* Copyright the Collabora Online contributors.
*
* SPDX-License-Identifier: MPL-2.0
*
* This Source Code Form is subject to the terms of the Mozilla Public
* License, v. 2.0. If a copy of the MPL was not distributed with this
* file, You can obtain one at http://mozilla.org/MPL/2.0/.
*/
#include "StringVector.hpp"
#include "Util.hpp"
#include "COOLWSD.hpp"
#include "Kit.hpp"
void setKitInProcess() { Util::setKitInProcess(true); }
int createForkit(const std::string& forKitPath, const StringVector& args)
{
// create forkit in a thread
int argc = args.size() + 1;
char** argv = new char*[argc];
argv[0] = new char[forKitPath.size() + 1];
std::strcpy(argv[0], forKitPath.c_str());
for (size_t i = 0; i < args.size(); ++i)
{
argv[i + 1] = new char[args[i].size() + 1];
std::strcpy(argv[i + 1], args[i].c_str());
}
std::thread([argc, argv] {
Util::setThreadName("forkit");
forkit_main(argc, argv);
})
.detach();
return 0;
}