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/include/server.h b/include/server.h
index 96685b0..30d4e97 100644
--- a/include/server.h
+++ b/include/server.h
@@ -121,7 +121,9 @@
IN int cmd_show; /* main window show mode */
IN void* env_ptr; /* pointer to environment (FIXME: hack) */
OUT void* pid; /* process id */
- OUT int handle; /* process handle (in the current process) */
+ OUT int phandle; /* process handle (in the current process) */
+ OUT void* tid; /* thread id */
+ OUT int thandle; /* thread handle (in the current process) */
IN char cmdline[1]; /* command line */
};
@@ -129,7 +131,6 @@
/* Create a new thread from the context of the parent */
struct new_thread_request
{
- IN void* pid; /* process id for the new thread */
IN int suspend; /* new thread should be suspended on creation */
IN int inherit; /* inherit flag */
OUT void* tid; /* thread id */
@@ -137,10 +138,10 @@
};
-/* Set the server debug level */
-struct set_debug_request
+/* Signal that we are finished booting on the client side */
+struct boot_done_request
{
- IN int level; /* New debug level */
+ IN int debug_level; /* new debug level */
};
@@ -171,6 +172,7 @@
IN void* teb; /* TEB of new thread (in thread address space) */
OUT void* pid; /* process id of the new thread's process */
OUT void* tid; /* thread id of the new thread */
+ OUT int boot; /* is this the boot thread? */
};
@@ -1036,7 +1038,7 @@
{
REQ_NEW_PROCESS,
REQ_NEW_THREAD,
- REQ_SET_DEBUG,
+ REQ_BOOT_DONE,
REQ_INIT_PROCESS,
REQ_INIT_PROCESS_DONE,
REQ_INIT_THREAD,
@@ -1189,7 +1191,8 @@
}
extern int CLIENT_InitServer(void);
-extern int CLIENT_SetDebug( int level );
+extern int CLIENT_BootDone( int debug_level );
+extern int CLIENT_IsBootThread(void);
extern int CLIENT_DebuggerRequest( int op );
extern int CLIENT_InitThread(void);
#endif /* __WINE_SERVER__ */