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:
// * 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;