From 852425d47038653c74910f6a39229194f3d9ece6 Mon Sep 17 00:00:00 2001 From: Ingo Weinhold Date: Sat, 16 Jul 2005 23:47:57 +0000 Subject: [PATCH] Also consider the kernel team a "vital system app" that deserves not to be killed. Shutdown now works under qemu, although even shutdown reboots... git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@13707 a95241bf-73f2-0310-859d-f6bbb57e9c96 --- src/servers/registrar/TRoster.cpp | 43 +++++++++++++++++-------------- 1 file changed, 24 insertions(+), 19 deletions(-) diff --git a/src/servers/registrar/TRoster.cpp b/src/servers/registrar/TRoster.cpp index f19b49323a..9e55af01aa 100644 --- a/src/servers/registrar/TRoster.cpp +++ b/src/servers/registrar/TRoster.cpp @@ -1296,33 +1296,38 @@ TRoster::GetShutdownApps(AppInfoList &userApps, AppInfoList &systemApps, // get the vital system apps: // * ourself + // * kernel team // * app server // * input server // * debug server - if (error == B_OK) { - // ourself - vitalSystemApps.insert(be_app->Team()); - // app server - port_id appServerPort = find_port(SERVER_PORT_NAME); - port_info portInfo; - if (appServerPort >= 0 - && get_port_info(appServerPort, &portInfo) == B_OK) { - vitalSystemApps.insert(portInfo.team); - } + // ourself + vitalSystemApps.insert(be_app->Team()); - // input server - RosterAppInfo *info - = fRegisteredApps.InfoFor("application/x-vnd.Be-input_server"); - if (info) - vitalSystemApps.insert(info->team); + // kernel team + team_info teamInfo; + if (get_team_info(B_SYSTEM_TEAM, &teamInfo) == B_OK) + vitalSystemApps.insert(teamInfo.team); - // debug server - info = fRegisteredApps.InfoFor("application/x-vnd.haiku-debug-server"); - if (info) - vitalSystemApps.insert(info->team); + // app server + port_id appServerPort = find_port(SERVER_PORT_NAME); + port_info portInfo; + if (appServerPort >= 0 + && get_port_info(appServerPort, &portInfo) == B_OK) { + vitalSystemApps.insert(portInfo.team); } + // input server + RosterAppInfo *info + = fRegisteredApps.InfoFor("application/x-vnd.Be-input_server"); + if (info) + vitalSystemApps.insert(info->team); + + // debug server + info = fRegisteredApps.InfoFor("application/x-vnd.haiku-debug-server"); + if (info) + vitalSystemApps.insert(info->team); + // populate the other groups for (AppInfoList::Iterator it(fRegisteredApps.It()); RosterAppInfo *info = *it;