Module: wine Branch: refs/heads/master Commit: e27358ea5c86ec2ab0cae53af92fa561e4acb0d3 URL: http://source.winehq.org/git/?p=wine.git;a=commit;h=e27358ea5c86ec2ab0cae53a...
Author: Alexandre Julliard julliard@winehq.org Date: Tue Feb 21 20:08:19 2006 +0100
server: Remove no longer needed fields in the init_process_done request.
---
dlls/ntdll/loader.c | 8 +++----- include/wine/server_protocol.h | 5 +---- server/process.c | 15 ++------------- server/protocol.def | 3 --- server/trace.c | 6 +----- 5 files changed, 7 insertions(+), 30 deletions(-)
diff --git a/dlls/ntdll/loader.c b/dlls/ntdll/loader.c index 547eb51..aa23017 100644 --- a/dlls/ntdll/loader.c +++ b/dlls/ntdll/loader.c @@ -2066,16 +2066,14 @@ void WINAPI LdrInitializeThunk( ULONG un SERVER_START_REQ( init_process_done ) { req->module = peb->ImageBaseAddress; - req->module_size = wm->ldr.SizeOfImage; req->entry = (char *)peb->ImageBaseAddress + nt->OptionalHeader.AddressOfEntryPoint; - /* API requires a double indirection */ - req->name = &wm->ldr.FullDllName.Buffer; req->gui = (nt->OptionalHeader.Subsystem != IMAGE_SUBSYSTEM_WINDOWS_CUI); - wine_server_add_data( req, wm->ldr.FullDllName.Buffer, wm->ldr.FullDllName.Length ); - wine_server_call( req ); + status = wine_server_call( req ); } SERVER_END_REQ;
+ if (status != STATUS_SUCCESS) goto error; + RtlEnterCriticalSection( &loader_section );
load_path = NtCurrentTeb()->Peb->ProcessParameters->DllPath.Buffer; diff --git a/include/wine/server_protocol.h b/include/wine/server_protocol.h index 9ba7cce..1de4531 100644 --- a/include/wine/server_protocol.h +++ b/include/wine/server_protocol.h @@ -261,11 +261,8 @@ struct init_process_done_request { struct request_header __header; void* module; - size_t module_size; void* entry; - void* name; int gui; - /* VARARG(filename,unicode_str); */ }; struct init_process_done_reply { @@ -4364,6 +4361,6 @@ union generic_reply struct query_symlink_reply query_symlink_reply; };
-#define SERVER_PROTOCOL_VERSION 227 +#define SERVER_PROTOCOL_VERSION 228
#endif /* __WINE_WINE_SERVER_PROTOCOL_H */ diff --git a/server/process.c b/server/process.c index 8c71334..cc88c5f 100644 --- a/server/process.c +++ b/server/process.c @@ -968,21 +968,10 @@ DECL_HANDLER(init_process_done) fatal_protocol_error( current, "init_process_done: called twice\n" ); return; } - if (!req->module) - { - fatal_protocol_error( current, "init_process_done: module base address cannot be 0\n" ); - return; - } - - /* check if main exe has been registered as a dll already */ if (!(dll = find_process_dll( process, req->module ))) { - if (!(dll = process_load_dll( process, NULL, req->module, - get_req_data(), get_req_data_size() ))) return; - dll->size = req->module_size; - dll->dbg_offset = 0; - dll->dbg_size = 0; - dll->name = req->name; + set_error( STATUS_DLL_NOT_FOUND ); + return; }
/* main exe is the first in the dll list */ diff --git a/server/protocol.def b/server/protocol.def index 6d7f527..b489b26 100644 --- a/server/protocol.def +++ b/server/protocol.def @@ -255,11 +255,8 @@ struct security_descriptor /* Signal the end of the process initialization */ @REQ(init_process_done) void* module; /* main module base address */ - size_t module_size; /* main module size */ void* entry; /* process entry point */ - void* name; /* ptr to ptr to name (in process addr space) */ int gui; /* is it a GUI process? */ - VARARG(filename,unicode_str); /* file name of main exe */ @END
diff --git a/server/trace.c b/server/trace.c index d1c702e..87390f1 100644 --- a/server/trace.c +++ b/server/trace.c @@ -638,12 +638,8 @@ static void dump_get_startup_info_reply( static void dump_init_process_done_request( const struct init_process_done_request *req ) { fprintf( stderr, " module=%p,", req->module ); - fprintf( stderr, " module_size=%lu,", (unsigned long)req->module_size ); fprintf( stderr, " entry=%p,", req->entry ); - fprintf( stderr, " name=%p,", req->name ); - fprintf( stderr, " gui=%d,", req->gui ); - fprintf( stderr, " filename=" ); - dump_varargs_unicode_str( cur_size ); + fprintf( stderr, " gui=%d", req->gui ); }
static void dump_init_thread_request( const struct init_thread_request *req )