Rebase against 7ca1c4900e42d608150822ef87a7ce2847a59b6f.

This commit is contained in:
Zebediah Figura
2019-12-05 22:31:23 -06:00
parent 3a14d63abf
commit cb9aa710d5
4 changed files with 49 additions and 55 deletions

View File

@@ -1,18 +1,18 @@
From 7d0a3a7800a523d111df2d40da43ee7bb4ab362b Mon Sep 17 00:00:00 2001
From 65522961f3a0cc382bf2effc445228815ee06e58 Mon Sep 17 00:00:00 2001
From: Sebastian Lackner <sebastian@fds-team.de>
Date: Fri, 13 Nov 2015 22:39:00 +0100
Subject: server: Allow multiple registry notifications for the same key.
---
dlls/ntdll/tests/reg.c | 6 +++---
server/registry.c | 53 ++++++++++++++++++++++++++------------------------
dlls/ntdll/tests/reg.c | 6 ++---
server/registry.c | 53 ++++++++++++++++++++++--------------------
2 files changed, 31 insertions(+), 28 deletions(-)
diff --git a/dlls/ntdll/tests/reg.c b/dlls/ntdll/tests/reg.c
index 0160869..e67b2b4 100644
index 9bb8d2502..1ba688084 100644
--- a/dlls/ntdll/tests/reg.c
+++ b/dlls/ntdll/tests/reg.c
@@ -1785,7 +1785,7 @@ static void test_notify(void)
@@ -1874,7 +1874,7 @@ static void test_notify(void)
pRtlFreeUnicodeString(&str);
status = pNtWaitForSingleObject(events[0], FALSE, &timeout);
@@ -21,7 +21,7 @@ index 0160869..e67b2b4 100644
status = pNtWaitForSingleObject(events[1], FALSE, &timeout);
ok(status == STATUS_SUCCESS, "NtWaitForSingleObject returned %x\n", status);
@@ -1798,7 +1798,7 @@ static void test_notify(void)
@@ -1887,7 +1887,7 @@ static void test_notify(void)
ok(status == STATUS_SUCCESS, "NtDeleteSubkey failed: %x\n", status);
status = pNtWaitForSingleObject(events[0], FALSE, &timeout);
@@ -30,7 +30,7 @@ index 0160869..e67b2b4 100644
status = pNtWaitForSingleObject(events[1], FALSE, &timeout);
ok(status == STATUS_SUCCESS, "NtWaitForSingleObject returned %x\n", status);
@@ -1812,7 +1812,7 @@ static void test_notify(void)
@@ -1901,7 +1901,7 @@ static void test_notify(void)
pNtClose(key);
status = pNtWaitForSingleObject(events[0], FALSE, &timeout);
@@ -40,12 +40,12 @@ index 0160869..e67b2b4 100644
ok(status == STATUS_SUCCESS, "NtWaitForSingleObject returned %x\n", status);
diff --git a/server/registry.c b/server/registry.c
index 97b16ed..53a8d43 100644
index 964e2ebd5..41af3cbe7 100644
--- a/server/registry.c
+++ b/server/registry.c
@@ -50,10 +50,16 @@
@@ -49,10 +49,16 @@
#include "winternl.h"
#include "wine/library.h"
+struct notify_event
+{
@@ -83,7 +83,7 @@ index 97b16ed..53a8d43 100644
if (del)
{
list_remove( &notify->entry );
@@ -2263,6 +2274,7 @@ DECL_HANDLER(set_registry_notification)
@@ -2277,6 +2288,7 @@ DECL_HANDLER(set_registry_notification)
struct key *key;
struct event *event;
struct notify *notify;
@@ -91,7 +91,7 @@ index 97b16ed..53a8d43 100644
key = get_hkey_obj( req->hkey, KEY_NOTIFY );
if (key)
@@ -2271,29 +2283,20 @@ DECL_HANDLER(set_registry_notification)
@@ -2285,29 +2297,20 @@ DECL_HANDLER(set_registry_notification)
if (event)
{
notify = find_notify( key, current->process, req->hkey );
@@ -133,5 +133,5 @@ index 97b16ed..53a8d43 100644
set_error( STATUS_PENDING );
}
--
2.8.0
2.23.0