Made the server listen for new clients on a Unix socket in
$HOME/.wine. Newly started wine processes now attach to an existing
server if one is running.
diff --git a/loader/main.c b/loader/main.c
index 9be7476..9d6b9ad 100644
--- a/loader/main.c
+++ b/loader/main.c
@@ -67,24 +67,27 @@
/* Parse command line arguments */
MAIN_WineInit( argc, argv );
- /* Set server debug level */
- CLIENT_SetDebug( TRACE_ON(server) );
-
/* Load the configuration file */
if (!PROFILE_LoadWineIni()) return FALSE;
- /* Initialize module loadorder */
- if (!MODULE_InitLoadOrder()) return FALSE;
-
- /* Initialize DOS memory */
- if (!DOSMEM_Init(0)) return FALSE;
-
/* Initialise DOS drives */
if (!DRIVE_Init()) return FALSE;
/* Initialise DOS directories */
if (!DIR_Init()) return FALSE;
+ /* Registry initialisation */
+ SHELL_LoadRegistry();
+
+ /* Global boot finished, the rest is process-local */
+ CLIENT_BootDone( TRACE_ON(server) );
+
+ /* Initialize module loadorder */
+ if (!MODULE_InitLoadOrder()) return FALSE;
+
+ /* Initialize DOS memory */
+ if (!DOSMEM_Init(0)) return FALSE;
+
/* Initialize event handling */
if (!EVENT_Init()) return FALSE;
@@ -94,9 +97,6 @@
/* Initialize IO-port permissions */
IO_port_init();
- /* registry initialisation */
- SHELL_LoadRegistry();
-
/* Read DOS config.sys */
if (!DOSCONF_ReadConfig()) return FALSE;