diff --git a/src/appspawn_server.cpp b/src/appspawn_server.cpp index 4f99f948f22bd1a6f192e253985b1df8e4882093..da415ca3daa33ce9672a11ba5aac2d09fdf1fd1a 100644 --- a/src/appspawn_server.cpp +++ b/src/appspawn_server.cpp @@ -344,6 +344,14 @@ int AppSpawnServer::StartApp(char *longProcName, int64_t longProcNameLen, return (buff == ERR_OK) ? 0 : buff; } +void AppSpawnServer::QuickExitMain() +{ +#ifndef TEST_EXIT + quick_exit(0); +#endif + return; +} + bool AppSpawnServer::ServerMain(char *longProcName, int64_t longProcNameLen) { if (socket_->RegisterServerSocket() != 0) { @@ -395,6 +403,7 @@ bool AppSpawnServer::ServerMain(char *longProcName, int64_t longProcNameLen) kill(iter->first, SIGKILL); appMap_.erase(iter); } + QuickExitMain(); return false; } diff --git a/src/include/appspawn_server.h b/src/include/appspawn_server.h index 694b3e438af80535e6b63f33ac0c12cdca857470..10f491d17f7b7b4c70abc0b200c2f32c27602b15 100644 --- a/src/include/appspawn_server.h +++ b/src/include/appspawn_server.h @@ -193,6 +193,8 @@ private: void WaitRebootEvent(); void HandleSignal(); + + void QuickExitMain(); private: const std::string deviceNull_ = "/dev/null"; std::string socketName_ {}; diff --git a/test/BUILD.gn b/test/BUILD.gn index 2df1ee1582165a51f569d6e8d075eb426b7c9b8c..8bc4665dabe3abbbfd749a6973986d91e60bba8a 100644 --- a/test/BUILD.gn +++ b/test/BUILD.gn @@ -35,7 +35,7 @@ group("moduletest") { config("appspawn_test_config") { configs = [] - defines = [] + defines = [ "TEST_EXIT" ] include_dirs = [ "${appspawn_path}/test/mock/include",