[PATCH 2/2] ntdll: Fix prev_count from NtReleaseMutant

Daniel Lehman dlehman25 at gmail.com
Thu Apr 28 20:53:32 CDT 2016


Signed-off-by: Daniel Lehman <dlehman25 at gmail.com>
---
 dlls/ntdll/sync.c     | 2 +-
 dlls/ntdll/tests/om.c | 4 ++--
 2 files changed, 3 insertions(+), 3 deletions(-)

diff --git a/dlls/ntdll/sync.c b/dlls/ntdll/sync.c
index 576593f..e6638cf 100644
--- a/dlls/ntdll/sync.c
+++ b/dlls/ntdll/sync.c
@@ -510,7 +510,7 @@ NTSTATUS WINAPI NtReleaseMutant( IN HANDLE handle, OUT PLONG prev_count OPTIONAL
     {
         req->handle = wine_server_obj_handle( handle );
         status = wine_server_call( req );
-        if (prev_count) *prev_count = reply->prev_count;
+        if (prev_count) *prev_count = 1 - reply->prev_count;
     }
     SERVER_END_REQ;
     return status;
diff --git a/dlls/ntdll/tests/om.c b/dlls/ntdll/tests/om.c
index ee850d3..118aa34 100644
--- a/dlls/ntdll/tests/om.c
+++ b/dlls/ntdll/tests/om.c
@@ -1937,12 +1937,12 @@ static void test_mutant(void)
     prev = 0xdeadbeef;
     status = pNtReleaseMutant(mutant, &prev);
     ok( status == STATUS_SUCCESS, "NtQueryRelease failed %08x\n", status );
-    todo_wine ok( prev == -1, "NtQueryRelease failed, expected -1, got %d\n", prev );
+    ok( prev == -1, "NtQueryRelease failed, expected -1, got %d\n", prev );
 
     prev = 0xdeadbeef;
     status = pNtReleaseMutant(mutant, &prev);
     ok( status == STATUS_SUCCESS, "NtQueryRelease failed %08x\n", status );
-    todo_wine ok( prev == 0, "NtQueryRelease failed, expected 0, got %d\n", prev );
+    ok( prev == 0, "NtQueryRelease failed, expected 0, got %d\n", prev );
 
     status = pNtQueryMutant(mutant, MutantBasicInformation, &info, sizeof(info), NULL);
     ok( status == STATUS_SUCCESS, "NtQueryMutant failed %08x\n", status );
-- 
2.5.0




More information about the wine-patches mailing list