Store the handle of the process exe file in the server.
Removed PROCESS_Initial().
diff --git a/include/process.h b/include/process.h
index 7ad864e..249d16f 100644
--- a/include/process.h
+++ b/include/process.h
@@ -94,10 +94,11 @@
void *server_pid; /* Server id for this process */
HANDLE *dos_handles; /* Handles mapping DOS -> Win32 */
struct _PDB *next; /* List reference - list of PDB's */
- WORD winver; /* Windows version figured out by VERSION_GetVersion */
+ WORD winver; /* Windows version figured out by VERSION_GetVersion */
struct _SERVICETABLE *service_table; /* Service table for service thread */
HANDLE idle_event; /* event to signal, when the process is idle */
HANDLE16 main_queue; /* main message queue of the process */
+ HFILE exe_file; /* handle to main exe file */
} PDB;
/* Process flags */
@@ -157,10 +158,9 @@
/* scheduler/process.c */
extern BOOL PROCESS_Init( BOOL win32 );
extern BOOL PROCESS_IsCurrent( HANDLE handle );
-extern PDB *PROCESS_Initial(void);
extern PDB *PROCESS_IdToPDB( DWORD id );
extern void PROCESS_CallUserSignalProc( UINT uCode, DWORD dwThreadId, HMODULE hModule );
-extern PDB *PROCESS_Create( struct _NE_MODULE *pModule,
+extern PDB *PROCESS_Create( struct _NE_MODULE *pModule, HFILE hFile,
LPCSTR cmd_line, LPCSTR env,
LPSECURITY_ATTRIBUTES psa, LPSECURITY_ATTRIBUTES tsa,
BOOL inherit, DWORD flags,
diff --git a/include/server.h b/include/server.h
index c7b5e8f..6eb99c3 100644
--- a/include/server.h
+++ b/include/server.h
@@ -114,6 +114,7 @@
IN int inherit_all; /* inherit all handles from parent */
IN int create_flags; /* creation flags */
IN int start_flags; /* flags from startup info */
+ IN int exe_file; /* file handle for main exe */
IN int hstdin; /* handle for stdin */
IN int hstdout; /* handle for stdout */
IN int hstderr; /* handle for stderr */
@@ -151,6 +152,7 @@
IN void* ldt_copy; /* addr of LDT copy */
IN void* ldt_flags; /* addr of LDT flags */
OUT int start_flags; /* flags from startup info */
+ OUT int exe_file; /* file handle for main exe */
OUT int hstdin; /* handle for stdin */
OUT int hstdout; /* handle for stdout */
OUT int hstderr; /* handle for stderr */