Rebase against 9f6e44fd9ca7d39258f2772c3f44013142702ca4.

This commit is contained in:
Alistair Leslie-Hughes
2024-06-07 10:12:09 +10:00
parent 2f712afe77
commit 87cf242f01
3 changed files with 15 additions and 15 deletions

View File

@@ -1,4 +1,4 @@
From ad881c0cf988811e4b8662eac50f8998dfed40ca Mon Sep 17 00:00:00 2001
From a43255ead53a49837e7995ab4de0afa8e05e6334 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.
@@ -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 4a5ef0876b0..a7be3ee3876 100644
index 031c0fece13..eb073551b57 100644
--- a/server/process.c
+++ b/server/process.c
@@ -63,6 +63,7 @@
@@ -85,9 +85,9 @@ index 4a5ef0876b0..a7be3ee3876 100644
list_init( &process->kernel_object );
list_init( &process->thread_list );
list_init( &process->locks );
@@ -744,6 +747,9 @@ struct process *create_process( int fd, struct process *parent, unsigned int fla
if (!token_assign_label( process->token, &high_label_sid ))
goto error;
@@ -738,6 +741,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 );
+ if (do_esync())
+ process->esync_fd = esync_create_fd( 0, 0 );
@@ -95,7 +95,7 @@ index 4a5ef0876b0..a7be3ee3876 100644
set_fd_events( process->msg_fd, POLLIN ); /* start listening to events */
return process;
@@ -792,6 +798,7 @@ static void process_destroy( struct object *obj )
@@ -786,6 +792,7 @@ static void process_destroy( struct object *obj )
free( process->rawinput_devices );
free( process->dir_cache );
free( process->image );
@@ -103,7 +103,7 @@ index 4a5ef0876b0..a7be3ee3876 100644
}
/* dump a process on stdout for debugging purposes */
@@ -809,6 +816,13 @@ static int process_signaled( struct object *obj, struct wait_queue_entry *entry
@@ -803,6 +810,13 @@ static int process_signaled( struct object *obj, struct wait_queue_entry *entry
return !process->running_threads;
}