There is a problem about loading the launcher info in the AppExecutor class.
In the previous implementation, the AppExecutor created the process pool
before initializing the launcher info. It causes the crash issue.
If the launch request is for dotnet or dotnet-nui app-types, the process pool
cannot execute it properly. Because, there is no launcher info.
This patch modifies the process pool initialization of the AppExecutor.
Change-Id: Icf41ab3584d85963d793b497290010805f1bab91
Signed-off-by: Hwankyu Jhun <h.jhun@samsung.com>
} // namespace
AppExecutor::AppExecutor()
- : Executor(this), process_pool_(new ProcessPool(2, this)) {
+ : Executor(this) {
LauncherInfoInflator inflator;
launcher_infos_ = inflator.Inflate("/usr/share/aul");
std::bind(&AppExecutor::StepPrepareAppSocketAndIdFile, this));
prepare_funcs_.push_back(
std::bind(&AppExecutor::StepSendStartupSignal, this));
+ process_pool_ = std::unique_ptr<ProcessPool>(new ProcessPool(2, this));
}
pid_t AppExecutor::Execute(const AppInfo* app_info) {
private:
using PrepareFunc = std::function<int()>;
- std::unique_ptr<ProcessPool> process_pool_;
std::vector<LauncherInfoPtr> launcher_infos_;
std::vector<PrepareFunc> prepare_funcs_;
+ std::unique_ptr<ProcessPool> process_pool_;
const AppInfo* app_info_ = nullptr;
};