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
This commit is contained in:
Ingo Weinhold
2005-07-16 23:47:57 +00:00
parent d461b955a1
commit 852425d470
+24 -19
View File
@@ -1296,33 +1296,38 @@ TRoster::GetShutdownApps(AppInfoList &userApps, AppInfoList &systemApps,
// get the vital system apps: // get the vital system apps:
// * ourself // * ourself
// * kernel team
// * app server // * app server
// * input server // * input server
// * debug server // * debug server
if (error == B_OK) {
// ourself
vitalSystemApps.insert(be_app->Team());
// app server // ourself
port_id appServerPort = find_port(SERVER_PORT_NAME); vitalSystemApps.insert(be_app->Team());
port_info portInfo;
if (appServerPort >= 0
&& get_port_info(appServerPort, &portInfo) == B_OK) {
vitalSystemApps.insert(portInfo.team);
}
// input server // kernel team
RosterAppInfo *info team_info teamInfo;
= fRegisteredApps.InfoFor("application/x-vnd.Be-input_server"); if (get_team_info(B_SYSTEM_TEAM, &teamInfo) == B_OK)
if (info) vitalSystemApps.insert(teamInfo.team);
vitalSystemApps.insert(info->team);
// debug server // app server
info = fRegisteredApps.InfoFor("application/x-vnd.haiku-debug-server"); port_id appServerPort = find_port(SERVER_PORT_NAME);
if (info) port_info portInfo;
vitalSystemApps.insert(info->team); 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 // populate the other groups
for (AppInfoList::Iterator it(fRegisteredApps.It()); for (AppInfoList::Iterator it(fRegisteredApps.It());
RosterAppInfo *info = *it; RosterAppInfo *info = *it;