From fbe1ba5578fb7380e2b09a5aebf5aa488744a823 Mon Sep 17 00:00:00 2001 From: Alistair Leslie-Hughes Date: Wed, 20 May 2020 08:48:22 +1000 Subject: [PATCH] Rebase against 3bb824f98891e8eb907c9c652fe528373a17b10d --- ...d.drv-winemac.drv-winex11.drv-Store-.patch | 20 ++++++++--------- ...rver-ntdll-Implement-alertable-waits.patch | 22 +++++++++---------- 2 files changed, 21 insertions(+), 21 deletions(-) diff --git a/patches/eventfd_synchronization/0023-ntdll-wineandroid.drv-winemac.drv-winex11.drv-Store-.patch b/patches/eventfd_synchronization/0023-ntdll-wineandroid.drv-winemac.drv-winex11.drv-Store-.patch index 65fcc8b1..0e0e1e1f 100644 --- a/patches/eventfd_synchronization/0023-ntdll-wineandroid.drv-winemac.drv-winex11.drv-Store-.patch +++ b/patches/eventfd_synchronization/0023-ntdll-wineandroid.drv-winemac.drv-winex11.drv-Store-.patch @@ -1,4 +1,4 @@ -From 54fe35bdc5ca494daf2b54d49e61995bfa36202f Mon Sep 17 00:00:00 2001 +From ad744b5d30474d7f46bf69dcdf829aa75b813879 Mon Sep 17 00:00:00 2001 From: Zebediah Figura Date: Tue, 12 Jun 2018 10:01:08 -0500 Subject: [PATCH] ntdll, wineandroid.drv, winemac.drv, winex11.drv: Store the @@ -18,7 +18,7 @@ In any case I haven't bothered to guard this code with do_esync(); it'd require 7 files changed, 20 insertions(+) diff --git a/dlls/ntdll/esync.c b/dlls/ntdll/esync.c -index ea7517d3f1d..94838d32213 100644 +index ea7517d3f1d2..94838d322132 100644 --- a/dlls/ntdll/esync.c +++ b/dlls/ntdll/esync.c @@ -74,6 +74,12 @@ int do_esync(void) @@ -35,7 +35,7 @@ index ea7517d3f1d..94838d32213 100644 { ESYNC_SEMAPHORE = 1, diff --git a/dlls/ntdll/ntdll.spec b/dlls/ntdll/ntdll.spec -index ae3814be559..a4c44ae88e6 100644 +index 44a65711c908..c24d4c807348 100644 --- a/dlls/ntdll/ntdll.spec +++ b/dlls/ntdll/ntdll.spec @@ -1567,6 +1567,8 @@ @@ -48,10 +48,10 @@ index ae3814be559..a4c44ae88e6 100644 @ cdecl -norelay wine_server_call(ptr) @ cdecl wine_server_close_fds_by_type(long) diff --git a/dlls/ntdll/ntdll_misc.h b/dlls/ntdll/ntdll_misc.h -index e150d2a9d9c..e09528c4cc1 100644 +index dd5db3f18f32..e9262de93da9 100644 --- a/dlls/ntdll/ntdll_misc.h +++ b/dlls/ntdll/ntdll_misc.h -@@ -270,6 +270,7 @@ struct debug_info +@@ -267,6 +267,7 @@ struct debug_info struct ntdll_thread_data { struct debug_info *debug_info; /* info for debugstr functions */ @@ -60,7 +60,7 @@ index e150d2a9d9c..e09528c4cc1 100644 int request_fd; /* fd for sending server requests */ int reply_fd; /* fd for receiving server replies */ diff --git a/dlls/ntdll/thread.c b/dlls/ntdll/thread.c -index 17a77498074..92001e64c71 100644 +index 0bc3971508fd..a3dd918fdf58 100644 --- a/dlls/ntdll/thread.c +++ b/dlls/ntdll/thread.c @@ -438,6 +438,7 @@ TEB *thread_init(void) @@ -70,7 +70,7 @@ index 17a77498074..92001e64c71 100644 + thread_data->esync_queue_fd = -1; unix_funcs->dbg_init(); - init_paths(); + unix_funcs->get_paths( &build_dir, &data_dir, &config_dir ); @@ -745,6 +746,7 @@ NTSTATUS WINAPI NtCreateThreadEx( HANDLE *handle_ptr, ACCESS_MASK access, OBJECT thread_data->wait_fd[0] = -1; thread_data->wait_fd[1] = -1; @@ -80,7 +80,7 @@ index 17a77498074..92001e64c71 100644 pthread_attr_init( &pthread_attr ); pthread_attr_setstack( &pthread_attr, teb->DeallocationStack, diff --git a/dlls/wineandroid.drv/window.c b/dlls/wineandroid.drv/window.c -index c1e7b000a8f..d96f001432d 100644 +index c1e7b000a8f3..d96f001432d4 100644 --- a/dlls/wineandroid.drv/window.c +++ b/dlls/wineandroid.drv/window.c @@ -364,6 +364,8 @@ jboolean motion_event( JNIEnv *env, jobject obj, jint win, jint action, jint x, @@ -101,7 +101,7 @@ index c1e7b000a8f..d96f001432d 100644 { ERR( "Can't allocate handle for event fd\n" ); diff --git a/dlls/winemac.drv/macdrv_main.c b/dlls/winemac.drv/macdrv_main.c -index 694a46b11e6..64b8d69b16d 100644 +index 694a46b11e64..64b8d69b16de 100644 --- a/dlls/winemac.drv/macdrv_main.c +++ b/dlls/winemac.drv/macdrv_main.c @@ -323,6 +323,7 @@ void CDECL macdrv_ThreadDetach(void) @@ -122,7 +122,7 @@ index 694a46b11e6..64b8d69b16d 100644 { MESSAGE("macdrv: Can't allocate handle for event queue fd\n"); diff --git a/dlls/winex11.drv/x11drv_main.c b/dlls/winex11.drv/x11drv_main.c -index 4eaedd1c556..323b71534ac 100644 +index 4eaedd1c5567..323b71534ace 100644 --- a/dlls/winex11.drv/x11drv_main.c +++ b/dlls/winex11.drv/x11drv_main.c @@ -643,6 +643,7 @@ void CDECL X11DRV_ThreadDetach(void) diff --git a/patches/eventfd_synchronization/0045-server-ntdll-Implement-alertable-waits.patch b/patches/eventfd_synchronization/0045-server-ntdll-Implement-alertable-waits.patch index aa10dde1..00efe887 100644 --- a/patches/eventfd_synchronization/0045-server-ntdll-Implement-alertable-waits.patch +++ b/patches/eventfd_synchronization/0045-server-ntdll-Implement-alertable-waits.patch @@ -1,4 +1,4 @@ -From 352d6aa96eb3e19acb61ad4942c86810a321c755 Mon Sep 17 00:00:00 2001 +From 81e9cb30bd1005500d3fd51962b6611540f91338 Mon Sep 17 00:00:00 2001 From: Zebediah Figura Date: Fri, 15 Jun 2018 14:12:22 -0500 Subject: [PATCH] server, ntdll: Implement alertable waits. @@ -16,7 +16,7 @@ We do this quite simply by waiting on an extra eventfd descriptor, which the ser 8 files changed, 121 insertions(+), 17 deletions(-) diff --git a/dlls/ntdll/esync.c b/dlls/ntdll/esync.c -index 7504f9b2931..15f99239fe9 100644 +index 7504f9b2931e..15f99239fe9d 100644 --- a/dlls/ntdll/esync.c +++ b/dlls/ntdll/esync.c @@ -684,19 +684,43 @@ static int do_poll( struct pollfd *fds, nfds_t nfds, ULONGLONG *end ) @@ -196,10 +196,10 @@ index 7504f9b2931..15f99239fe9 100644 NTSTATUS esync_signal_and_wait( HANDLE signal, HANDLE wait, BOOLEAN alertable, diff --git a/dlls/ntdll/ntdll_misc.h b/dlls/ntdll/ntdll_misc.h -index e09528c4cc1..2a6ce77e6fd 100644 +index e9262de93da9..f92fa9060103 100644 --- a/dlls/ntdll/ntdll_misc.h +++ b/dlls/ntdll/ntdll_misc.h -@@ -271,6 +271,7 @@ struct ntdll_thread_data +@@ -268,6 +268,7 @@ struct ntdll_thread_data { struct debug_info *debug_info; /* info for debugstr functions */ int esync_queue_fd;/* fd to wait on for driver events */ @@ -208,7 +208,7 @@ index e09528c4cc1..2a6ce77e6fd 100644 int request_fd; /* fd for sending server requests */ int reply_fd; /* fd for receiving server replies */ diff --git a/dlls/ntdll/thread.c b/dlls/ntdll/thread.c -index 92001e64c71..e0d646d6020 100644 +index a3dd918fdf58..3b1b6daad981 100644 --- a/dlls/ntdll/thread.c +++ b/dlls/ntdll/thread.c @@ -439,6 +439,7 @@ TEB *thread_init(void) @@ -218,7 +218,7 @@ index 92001e64c71..e0d646d6020 100644 + thread_data->esync_apc_fd = -1; unix_funcs->dbg_init(); - init_paths(); + unix_funcs->get_paths( &build_dir, &data_dir, &config_dir ); @@ -747,6 +748,7 @@ NTSTATUS WINAPI NtCreateThreadEx( HANDLE *handle_ptr, ACCESS_MASK access, OBJECT thread_data->wait_fd[1] = -1; thread_data->start_stack = (char *)teb->Tib.StackBase; @@ -228,7 +228,7 @@ index 92001e64c71..e0d646d6020 100644 pthread_attr_init( &pthread_attr ); pthread_attr_setstack( &pthread_attr, teb->DeallocationStack, diff --git a/server/esync.c b/server/esync.c -index c68b2bc1fc0..a3cd1a8decf 100644 +index c68b2bc1fc05..a3cd1a8decf8 100644 --- a/server/esync.c +++ b/server/esync.c @@ -246,19 +246,25 @@ int esync_create_fd( int initval, int flags ) @@ -272,7 +272,7 @@ index c68b2bc1fc0..a3cd1a8decf 100644 + send_client_fd( current->process, current->esync_apc_fd, current->id ); +} diff --git a/server/esync.h b/server/esync.h -index aeb58c5469c..cea025d9308 100644 +index aeb58c5469c3..cea025d93088 100644 --- a/server/esync.h +++ b/server/esync.h @@ -21,6 +21,7 @@ @@ -284,7 +284,7 @@ index aeb58c5469c..cea025d9308 100644 void esync_clear( int fd ); diff --git a/server/protocol.def b/server/protocol.def -index 01f2207cc8a..9188893d7de 100644 +index 01f2207cc8af..9188893d7de6 100644 --- a/server/protocol.def +++ b/server/protocol.def @@ -4070,6 +4070,11 @@ struct handle_info @@ -300,7 +300,7 @@ index 01f2207cc8a..9188893d7de 100644 { ESYNC_SEMAPHORE = 1, diff --git a/server/thread.c b/server/thread.c -index 9341261b580..5677aa518da 100644 +index 9341261b580c..5677aa518da2 100644 --- a/server/thread.c +++ b/server/thread.c @@ -224,6 +224,7 @@ static inline void init_thread_structure( struct thread *thread ) @@ -348,7 +348,7 @@ index 9341261b580..5677aa518da 100644 } diff --git a/server/thread.h b/server/thread.h -index 1b2973cba63..9ed70aee857 100644 +index 1b2973cba63e..9ed70aee8576 100644 --- a/server/thread.h +++ b/server/thread.h @@ -55,6 +55,7 @@ struct thread