diff --git a/patches/eventfd_synchronization/0013-server-Create-eventfd-file-descriptors-for-process-o.patch b/patches/eventfd_synchronization/0013-server-Create-eventfd-file-descriptors-for-process-o.patch index 46181ee3..b580bc53 100644 --- a/patches/eventfd_synchronization/0013-server-Create-eventfd-file-descriptors-for-process-o.patch +++ b/patches/eventfd_synchronization/0013-server-Create-eventfd-file-descriptors-for-process-o.patch @@ -1,4 +1,4 @@ -From a43255ead53a49837e7995ab4de0afa8e05e6334 Mon Sep 17 00:00:00 2001 +From ce164f9c292bc93ad50055bdb0a786e8a8770afa Mon Sep 17 00:00:00 2001 From: Zebediah Figura Date: Mon, 6 Jul 2020 15:11:12 -0500 Subject: [PATCH] server: Create eventfd file descriptors for process objects. @@ -49,7 +49,7 @@ index 00f9e638d83..8522d8a69ae 100644 void esync_init(void); +int esync_create_fd( int initval, int flags ); diff --git a/server/process.c b/server/process.c -index 031c0fece13..eb073551b57 100644 +index 3c5a58b7b03..30555d516c8 100644 --- a/server/process.c +++ b/server/process.c @@ -63,6 +63,7 @@ @@ -77,7 +77,7 @@ index 031c0fece13..eb073551b57 100644 no_satisfied, /* satisfied */ no_signal, /* signal */ no_get_fd, /* get_fd */ -@@ -688,6 +690,7 @@ struct process *create_process( int fd, struct process *parent, unsigned int fla +@@ -689,6 +691,7 @@ struct process *create_process( int fd, struct process *parent, unsigned int fla process->rawinput_kbd = NULL; memset( &process->image_info, 0, sizeof(process->image_info) ); list_init( &process->rawinput_entry ); @@ -85,7 +85,7 @@ index 031c0fece13..eb073551b57 100644 list_init( &process->kernel_object ); list_init( &process->thread_list ); list_init( &process->locks ); -@@ -738,6 +741,9 @@ struct process *create_process( int fd, struct process *parent, unsigned int fla +@@ -739,6 +742,9 @@ struct process *create_process( int fd, struct process *parent, unsigned int fla if (!process->handles || !process->token) goto error; process->session_id = token_get_session_id( process->token ); @@ -95,7 +95,7 @@ index 031c0fece13..eb073551b57 100644 set_fd_events( process->msg_fd, POLLIN ); /* start listening to events */ return process; -@@ -786,6 +792,7 @@ static void process_destroy( struct object *obj ) +@@ -787,6 +793,7 @@ static void process_destroy( struct object *obj ) free( process->rawinput_devices ); free( process->dir_cache ); free( process->image ); @@ -103,7 +103,7 @@ index 031c0fece13..eb073551b57 100644 } /* dump a process on stdout for debugging purposes */ -@@ -803,6 +810,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 031c0fece13..eb073551b57 100644 { access = default_map_access( obj, access ); diff --git a/server/process.h b/server/process.h -index 1e73e9d47dc..bedd8bb4586 100644 +index 96814ab7cf8..ec74ba0490a 100644 --- a/server/process.h +++ b/server/process.h @@ -86,6 +86,7 @@ struct process struct list rawinput_entry; /* entry in the rawinput process list */ struct list kernel_object; /* list of kernel object pointers */ - pe_image_info_t image_info; /* main exe image info */ + struct pe_image_info image_info; /* main exe image info */ + int esync_fd; /* esync file descriptor (signaled on exit) */ }; /* process functions */ -- -2.43.0 +2.45.2 diff --git a/staging/upstream-commit b/staging/upstream-commit index d013dbdc..822a3a8b 100644 --- a/staging/upstream-commit +++ b/staging/upstream-commit @@ -1 +1 @@ -044527c671d87b917e01f39fcf33b596cc2e7878 +f350a8782b29b3890320e48e915d026612657454