[RTL] Partially sync actctx.c with Wine Staging 1.9.16. CORE-11866

svn path=/trunk/; revision=72541
This commit is contained in:
Amine Khaldi 2016-09-03 10:46:01 +00:00
parent 8ba1bd92d3
commit 44bb873f32
2 changed files with 10 additions and 18 deletions

View file

@ -254,7 +254,7 @@ check Wine current sources first as it may already be fixed.
reactos/sdk/lib/3rdparty/strmbase # Synced to WineStaging-1.9.16 reactos/sdk/lib/3rdparty/strmbase # Synced to WineStaging-1.9.16
reactos/sdk/lib/rtl/actctx.c # Partly synced with WineStaging-1.7.55 reactos/sdk/lib/rtl/actctx.c # Partly synced with WineStaging-1.9.16
reactos/sdk/lib/rtl/timerqueue.c # Partly synced with WineStaging-1.7.55 reactos/sdk/lib/rtl/timerqueue.c # Partly synced with WineStaging-1.7.55
reactos/sdk/lib/rtl/wait.c # Partly synced with WineStaging-1.7.55 reactos/sdk/lib/rtl/wait.c # Partly synced with WineStaging-1.7.55

View file

@ -2579,11 +2579,7 @@ static NTSTATUS open_nt_file( HANDLE *handle, UNICODE_STRING *name )
attr.ObjectName = name; attr.ObjectName = name;
attr.SecurityDescriptor = NULL; attr.SecurityDescriptor = NULL;
attr.SecurityQualityOfService = NULL; attr.SecurityQualityOfService = NULL;
return NtOpenFile(handle, return NtOpenFile( handle, GENERIC_READ | SYNCHRONIZE, &attr, &io, FILE_SHARE_READ, FILE_SYNCHRONOUS_IO_ALERT );
GENERIC_READ | SYNCHRONIZE,
&attr, &io,
FILE_SHARE_READ,
FILE_SYNCHRONOUS_IO_ALERT);
} }
static NTSTATUS get_module_filename( HMODULE module, UNICODE_STRING *str, USHORT extra_len ) static NTSTATUS get_module_filename( HMODULE module, UNICODE_STRING *str, USHORT extra_len )
@ -2837,9 +2833,8 @@ static WCHAR *lookup_manifest_file( HANDLE dir, struct assembly_identity *ai )
ai->version.major, ai->version.minor, lang ); ai->version.major, ai->version.minor, lang );
RtlInitUnicodeString( &lookup_us, lookup ); RtlInitUnicodeString( &lookup_us, lookup );
NtQueryDirectoryFile( dir, 0, NULL, NULL, &io, buffer, sizeof(buffer), if (!NtQueryDirectoryFile( dir, 0, NULL, NULL, &io, buffer, sizeof(buffer),
FileBothDirectoryInformation, FALSE, &lookup_us, TRUE ); FileBothDirectoryInformation, FALSE, &lookup_us, TRUE ))
if (io.Status == STATUS_SUCCESS)
{ {
ULONG min_build = ai->version.build, min_revision = ai->version.revision; ULONG min_build = ai->version.build, min_revision = ai->version.revision;
FILE_BOTH_DIR_INFORMATION *dir_info; FILE_BOTH_DIR_INFORMATION *dir_info;
@ -2852,9 +2847,9 @@ static WCHAR *lookup_manifest_file( HANDLE dir, struct assembly_identity *ai )
{ {
if (data_pos >= data_len) if (data_pos >= data_len)
{ {
NtQueryDirectoryFile( dir, 0, NULL, NULL, &io, buffer, sizeof(buffer), if (NtQueryDirectoryFile( dir, 0, NULL, NULL, &io, buffer, sizeof(buffer),
FileBothDirectoryInformation, FALSE, &lookup_us, FALSE ); FileBothDirectoryInformation, FALSE, &lookup_us, FALSE ))
if (io.Status != STATUS_SUCCESS) break; break;
data_len = (ULONG)io.Information; data_len = (ULONG)io.Information;
data_pos = 0; data_pos = 0;
} }
@ -2933,11 +2928,8 @@ static NTSTATUS lookup_winsxs(struct actctx_loader* acl, struct assembly_identit
attr.SecurityDescriptor = NULL; attr.SecurityDescriptor = NULL;
attr.SecurityQualityOfService = NULL; attr.SecurityQualityOfService = NULL;
if (!NtOpenFile(&handle, if (!NtOpenFile( &handle, GENERIC_READ | SYNCHRONIZE, &attr, &io, FILE_SHARE_READ | FILE_SHARE_WRITE,
GENERIC_READ | SYNCHRONIZE, FILE_DIRECTORY_FILE | FILE_SYNCHRONOUS_IO_NONALERT ))
&attr, &io,
FILE_SHARE_READ | FILE_SHARE_WRITE,
FILE_DIRECTORY_FILE | FILE_SYNCHRONOUS_IO_NONALERT))
{ {
sxs_ai = *ai; sxs_ai = *ai;
file = lookup_manifest_file( handle, &sxs_ai ); file = lookup_manifest_file( handle, &sxs_ai );
@ -4764,7 +4756,7 @@ RtlCreateActivationContext(IN ULONG Flags,
} }
ret = RtlDosPathNameToNtPathName_U(source ? source : pActCtx->lpSource, &nameW, NULL, NULL); ret = RtlDosPathNameToNtPathName_U(source ? source : pActCtx->lpSource, &nameW, NULL, NULL);
if (source) RtlFreeHeap( RtlGetProcessHeap(), 0, source ); RtlFreeHeap( RtlGetProcessHeap(), 0, source );
if (!ret) if (!ret)
{ {
status = STATUS_NO_SUCH_FILE; status = STATUS_NO_SUCH_FILE;