ntdll: Don't try to unmap system views on the server side.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
This commit is contained in:
parent
0374d86c57
commit
49d3cac9ce
|
@ -3073,6 +3073,8 @@ NTSTATUS WINAPI NtUnmapViewOfSection( HANDLE process, PVOID addr )
|
||||||
|
|
||||||
server_enter_uninterrupted_section( &csVirtual, &sigset );
|
server_enter_uninterrupted_section( &csVirtual, &sigset );
|
||||||
if ((view = VIRTUAL_FindView( addr, 0 )) && !is_view_valloc( view ))
|
if ((view = VIRTUAL_FindView( addr, 0 )) && !is_view_valloc( view ))
|
||||||
|
{
|
||||||
|
if (!(view->protect & VPROT_SYSTEM))
|
||||||
{
|
{
|
||||||
SERVER_START_REQ( unmap_view )
|
SERVER_START_REQ( unmap_view )
|
||||||
{
|
{
|
||||||
|
@ -3081,6 +3083,9 @@ NTSTATUS WINAPI NtUnmapViewOfSection( HANDLE process, PVOID addr )
|
||||||
}
|
}
|
||||||
SERVER_END_REQ;
|
SERVER_END_REQ;
|
||||||
if (!status) delete_view( view );
|
if (!status) delete_view( view );
|
||||||
|
else FIXME( "failed to unmap %p %x\n", view->base, status );
|
||||||
|
}
|
||||||
|
else delete_view( view );
|
||||||
}
|
}
|
||||||
server_leave_uninterrupted_section( &csVirtual, &sigset );
|
server_leave_uninterrupted_section( &csVirtual, &sigset );
|
||||||
return status;
|
return status;
|
||||||
|
|
Loading…
Reference in New Issue