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:
@@ -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;
|
||||||
|
|||||||
Reference in New Issue
Block a user