Moved the port creation for app_server - input_server communication out of the DisplayDrivers and into the AppServer constructor. This may later needs to be moved into RootLayer if we want multiple user support.

git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@12426 a95241bf-73f2-0310-859d-f6bbb57e9c96
This commit is contained in:
Michael Lotz
2005-04-17 12:26:16 +00:00
parent 79e1fcbc00
commit 597c548ca3
7 changed files with 31 additions and 38 deletions
+25 -2
View File
@@ -91,8 +91,17 @@ AppServer::AppServer(void) : BApplication (SERVER_SIGNATURE)
AppServer::AppServer(void)
#endif
{
fMessagePort= create_port(200,SERVER_PORT_NAME);
fMessagePort= create_port(200, SERVER_PORT_NAME);
if (fMessagePort == B_NO_MORE_PORTS)
debugger("app_server could not create message port");
// Create the input port. The input_server will send it's messages here.
// TODO: If we want multiple user support we would need an individual
// port for each user and do the following for each RootLayer.
fServerInputPort = create_port(200, SERVER_INPUT_PORT);
if (fServerInputPort == B_NO_MORE_PORTS)
debugger("app_server could not create input port");
fAppList= new BList(0);
fQuittingServer= false;
make_decorator= NULL;
@@ -184,6 +193,20 @@ AppServer::AppServer(void)
resume_thread(fPicassoThreadID);
fDecoratorName="Default";
#if 0
// TODO: We are supposed to start the input_server, but it's a BApplication
// that depends on the registrar running, which is started after app_server
int32 arg_c = 1;
char **arg_v = (char **)malloc(sizeof(char *) * (arg_c + 1));
arg_v[0] = strdup("/system/servers/input_server");
arg_v[1] = NULL;
thread_id isThread = load_image(arg_c, (const char**)arg_v, (const char **)environ);
free(arg_v[0]);
resume_thread(isThread);
setpgid(isThread, 0);
#endif
}
/*!