mirror of
https://gitlab.winehq.org/wine/wine-staging.git
synced 2024-11-21 16:46:54 -08:00
Rebase against 2318484e1e33cb30f00eb9a62cb9aa5f83e5dc99.
This commit is contained in:
parent
440e5eee17
commit
78d28293de
@ -1,4 +1,4 @@
|
||||
From 291fd879b030b16238329ff4f530ab3577ea6fc0 Mon Sep 17 00:00:00 2001
|
||||
From c204c9ed2a8504868c3cbf487e7a29c4e7254d3f Mon Sep 17 00:00:00 2001
|
||||
From: Zebediah Figura <zfigura@codeweavers.com>
|
||||
Date: Mon, 6 Jul 2020 12:09:22 -0500
|
||||
Subject: [PATCH] ntdll: Create eventfd-based objects for semaphores.
|
||||
@ -346,7 +346,7 @@ index 00000000000..a50a755149a
|
||||
+
|
||||
+extern int receive_fd( obj_handle_t *handle ) DECLSPEC_HIDDEN;
|
||||
diff --git a/dlls/ntdll/unix/loader.c b/dlls/ntdll/unix/loader.c
|
||||
index 8f20da7eece..befa355a4fc 100644
|
||||
index 10884a7a673..28cc48e04bf 100644
|
||||
--- a/dlls/ntdll/unix/loader.c
|
||||
+++ b/dlls/ntdll/unix/loader.c
|
||||
@@ -89,6 +89,7 @@
|
||||
@ -357,7 +357,7 @@ index 8f20da7eece..befa355a4fc 100644
|
||||
#include "wine/list.h"
|
||||
#include "wine/debug.h"
|
||||
|
||||
@@ -2081,6 +2082,7 @@ static void start_main_thread(void)
|
||||
@@ -2082,6 +2083,7 @@ static void start_main_thread(void)
|
||||
signal_init_thread( teb );
|
||||
dbg_init();
|
||||
startup_info_size = server_init_process();
|
||||
@ -366,19 +366,19 @@ index 8f20da7eece..befa355a4fc 100644
|
||||
init_cpu_info();
|
||||
init_files();
|
||||
diff --git a/dlls/ntdll/unix/server.c b/dlls/ntdll/unix/server.c
|
||||
index a388247beb2..79b83589d81 100644
|
||||
index 6a3224d8385..de65f936a59 100644
|
||||
--- a/dlls/ntdll/unix/server.c
|
||||
+++ b/dlls/ntdll/unix/server.c
|
||||
@@ -104,7 +104,7 @@ timeout_t server_start_time = 0; /* time of server startup */
|
||||
sigset_t server_block_set; /* signals to block during server calls */
|
||||
@@ -106,7 +106,7 @@ sigset_t server_block_set; /* signals to block during server calls */
|
||||
static int fd_socket = -1; /* socket to exchange file descriptors with the server */
|
||||
static int initial_cwd = -1;
|
||||
static pid_t server_pid;
|
||||
-static pthread_mutex_t fd_cache_mutex = PTHREAD_MUTEX_INITIALIZER;
|
||||
+pthread_mutex_t fd_cache_mutex = PTHREAD_MUTEX_INITIALIZER;
|
||||
|
||||
/* atomically exchange a 64-bit value */
|
||||
static inline LONG64 interlocked_xchg64( LONG64 *dest, LONG64 val )
|
||||
@@ -801,7 +801,7 @@ void wine_server_send_fd( int fd )
|
||||
@@ -803,7 +803,7 @@ void wine_server_send_fd( int fd )
|
||||
*
|
||||
* Receive a file descriptor passed from the server.
|
||||
*/
|
||||
@ -422,5 +422,5 @@ index b9dbfa322bc..99e57eca44c 100644
|
||||
int do_esync(void)
|
||||
{
|
||||
--
|
||||
2.33.0
|
||||
2.34.1
|
||||
|
||||
|
@ -1,4 +1,4 @@
|
||||
From a1368a522fdc4e741fee7bfbd84eec632bcf4ce0 Mon Sep 17 00:00:00 2001
|
||||
From 24fa0367db3de31fdc2da7bd61c27699c091cdaa Mon Sep 17 00:00:00 2001
|
||||
From: Zebediah Figura <zfigura@codeweavers.com>
|
||||
Date: Mon, 6 Jul 2020 15:11:12 -0500
|
||||
Subject: [PATCH] server: Create eventfd file descriptors for process objects.
|
||||
@ -11,10 +11,10 @@ Subject: [PATCH] server: Create eventfd file descriptors for process objects.
|
||||
4 files changed, 35 insertions(+), 1 deletion(-)
|
||||
|
||||
diff --git a/server/esync.c b/server/esync.c
|
||||
index d61dfdcd956..e18b76bff5b 100644
|
||||
index c7b0323f204..27049ffbdb0 100644
|
||||
--- a/server/esync.c
|
||||
+++ b/server/esync.c
|
||||
@@ -297,6 +297,24 @@ struct esync *create_esync( struct object *root, const struct unicode_str *name,
|
||||
@@ -295,6 +295,24 @@ struct esync *create_esync( struct object *root, const struct unicode_str *name,
|
||||
#endif
|
||||
}
|
||||
|
||||
@ -49,10 +49,10 @@ index 7ca4ca89394..6a0a367124d 100644
|
||||
void esync_init(void);
|
||||
+int esync_create_fd( int initval, int flags );
|
||||
diff --git a/server/process.c b/server/process.c
|
||||
index e144593445d..f9468c771d0 100644
|
||||
index ca9844c5c90..eca2f8f4bca 100644
|
||||
--- a/server/process.c
|
||||
+++ b/server/process.c
|
||||
@@ -49,6 +49,7 @@
|
||||
@@ -63,6 +63,7 @@
|
||||
#include "request.h"
|
||||
#include "user.h"
|
||||
#include "security.h"
|
||||
@ -60,7 +60,7 @@ index e144593445d..f9468c771d0 100644
|
||||
|
||||
/* process object */
|
||||
|
||||
@@ -81,6 +82,7 @@ static struct security_descriptor *process_get_sd( struct object *obj );
|
||||
@@ -95,6 +96,7 @@ static struct security_descriptor *process_get_sd( struct object *obj );
|
||||
static void process_poll_event( struct fd *fd, int event );
|
||||
static struct list *process_get_kernel_obj_list( struct object *obj );
|
||||
static void process_destroy( struct object *obj );
|
||||
@ -68,7 +68,7 @@ index e144593445d..f9468c771d0 100644
|
||||
static void terminate_process( struct process *process, struct thread *skip, int exit_code );
|
||||
|
||||
static const struct object_ops process_ops =
|
||||
@@ -91,7 +93,7 @@ static const struct object_ops process_ops =
|
||||
@@ -105,7 +107,7 @@ static const struct object_ops process_ops =
|
||||
add_queue, /* add_queue */
|
||||
remove_queue, /* remove_queue */
|
||||
process_signaled, /* signaled */
|
||||
@ -77,15 +77,15 @@ index e144593445d..f9468c771d0 100644
|
||||
no_satisfied, /* satisfied */
|
||||
no_signal, /* signal */
|
||||
no_get_fd, /* get_fd */
|
||||
@@ -555,6 +557,7 @@ struct process *create_process( int fd, struct process *parent, unsigned int fla
|
||||
process->trace_data = 0;
|
||||
@@ -684,6 +686,7 @@ struct process *create_process( int fd, struct process *parent, unsigned int fla
|
||||
process->rawinput_mouse = NULL;
|
||||
process->rawinput_kbd = NULL;
|
||||
memset( &process->image_info, 0, sizeof(process->image_info) );
|
||||
+ process->esync_fd = -1;
|
||||
list_init( &process->kernel_object );
|
||||
list_init( &process->thread_list );
|
||||
list_init( &process->locks );
|
||||
@@ -611,6 +614,9 @@ struct process *create_process( int fd, struct process *parent, unsigned int fla
|
||||
@@ -741,6 +744,9 @@ struct process *create_process( int fd, struct process *parent, unsigned int fla
|
||||
if (!token_assign_label( process->token, security_high_label_sid ))
|
||||
goto error;
|
||||
|
||||
@ -95,7 +95,7 @@ index e144593445d..f9468c771d0 100644
|
||||
set_fd_events( process->msg_fd, POLLIN ); /* start listening to events */
|
||||
return process;
|
||||
|
||||
@@ -657,6 +663,7 @@ static void process_destroy( struct object *obj )
|
||||
@@ -787,6 +793,7 @@ static void process_destroy( struct object *obj )
|
||||
if (process->token) release_object( process->token );
|
||||
free( process->dir_cache );
|
||||
free( process->image );
|
||||
@ -103,7 +103,7 @@ index e144593445d..f9468c771d0 100644
|
||||
}
|
||||
|
||||
/* dump a process on stdout for debugging purposes */
|
||||
@@ -674,6 +681,13 @@ static int process_signaled( struct object *obj, struct wait_queue_entry *entry
|
||||
@@ -804,6 +811,13 @@ static int process_signaled( struct object *obj, struct wait_queue_entry *entry
|
||||
return !process->running_threads;
|
||||
}
|
||||
|
||||
@ -118,17 +118,17 @@ index e144593445d..f9468c771d0 100644
|
||||
{
|
||||
access = default_map_access( obj, access );
|
||||
diff --git a/server/process.h b/server/process.h
|
||||
index 0e1a83859d9..71aae9c9494 100644
|
||||
index 632faf9c4bf..1ba69b3406e 100644
|
||||
--- a/server/process.h
|
||||
+++ b/server/process.h
|
||||
@@ -87,6 +87,7 @@ struct process
|
||||
const struct rawinput_device *rawinput_mouse; /* rawinput mouse device, if any */
|
||||
@@ -90,6 +90,7 @@ struct process
|
||||
const struct rawinput_device *rawinput_kbd; /* rawinput keyboard device, if any */
|
||||
struct list kernel_object; /* list of kernel object pointers */
|
||||
pe_image_info_t image_info; /* main exe image info */
|
||||
+ int esync_fd; /* esync file descriptor (signaled on exit) */
|
||||
};
|
||||
|
||||
/* process functions */
|
||||
--
|
||||
2.30.2
|
||||
2.34.1
|
||||
|
||||
|
@ -51,7 +51,7 @@ usage()
|
||||
# Get the upstream commit sha
|
||||
upstream_commit()
|
||||
{
|
||||
echo "b173a96237b1f1c02c642f3d4a57ecb507ebc664"
|
||||
echo "2318484e1e33cb30f00eb9a62cb9aa5f83e5dc99"
|
||||
}
|
||||
|
||||
# Show version information
|
||||
|
@ -1 +1 @@
|
||||
b173a96237b1f1c02c642f3d4a57ecb507ebc664
|
||||
2318484e1e33cb30f00eb9a62cb9aa5f83e5dc99
|
||||
|
Loading…
Reference in New Issue
Block a user