Temporary hack to share handles between processes sharing the same
address space.
This commit is contained in:
parent
416a00d2bc
commit
11342151c9
|
@ -517,7 +517,7 @@ PDB *PROCESS_Create( NE_MODULE *pModule, HFILE hFile, LPCSTR cmd_line, LPCSTR en
|
||||||
|
|
||||||
req->pinherit = (psa && (psa->nLength >= sizeof(*psa)) && psa->bInheritHandle);
|
req->pinherit = (psa && (psa->nLength >= sizeof(*psa)) && psa->bInheritHandle);
|
||||||
req->tinherit = (tsa && (tsa->nLength >= sizeof(*tsa)) && tsa->bInheritHandle);
|
req->tinherit = (tsa && (tsa->nLength >= sizeof(*tsa)) && tsa->bInheritHandle);
|
||||||
req->inherit_all = inherit;
|
req->inherit_all = 2 /*inherit*/; /* HACK! */
|
||||||
req->create_flags = flags;
|
req->create_flags = flags;
|
||||||
req->start_flags = startup->dwFlags;
|
req->start_flags = startup->dwFlags;
|
||||||
req->exe_file = hFile;
|
req->exe_file = hFile;
|
||||||
|
|
|
@ -169,15 +169,14 @@ struct thread *create_process( int fd, struct process *parent,
|
||||||
/* copy the request structure */
|
/* copy the request structure */
|
||||||
if (!set_creation_info( process, req, cmd_line, len )) goto error;
|
if (!set_creation_info( process, req, cmd_line, len )) goto error;
|
||||||
|
|
||||||
if (process->info->inherit_all)
|
if (process->info->inherit_all == 2) /* HACK! */
|
||||||
|
process->handles = grab_object( parent->handles );
|
||||||
|
else if (process->info->inherit_all)
|
||||||
process->handles = copy_handle_table( process, parent );
|
process->handles = copy_handle_table( process, parent );
|
||||||
else
|
else
|
||||||
process->handles = alloc_handle_table( process, 0 );
|
process->handles = alloc_handle_table( process, 0 );
|
||||||
if (!process->handles) goto error;
|
if (!process->handles) goto error;
|
||||||
|
|
||||||
/* alloc a handle for the process itself */
|
|
||||||
alloc_handle( process, process, PROCESS_ALL_ACCESS, 0 );
|
|
||||||
|
|
||||||
/* retrieve the main exe file */
|
/* retrieve the main exe file */
|
||||||
if (process->info->exe_file != -1)
|
if (process->info->exe_file != -1)
|
||||||
{
|
{
|
||||||
|
|
Loading…
Reference in New Issue