Rebase against c18152630362c1bff1813fe8ad5c75ffb8dbb7cf.

This commit is contained in:
Zebediah Figura
2020-04-16 17:42:47 -05:00
parent a23c076055
commit 767b90c5dd
6 changed files with 58 additions and 68 deletions

View File

@@ -1,4 +1,4 @@
From 08285be7bf233a38a95b0902c6bac9b24e1fe34f Mon Sep 17 00:00:00 2001
From 5209675d0aac52f20b5af95ef39f85f000b79434 Mon Sep 17 00:00:00 2001
From: Zebediah Figura <z.figura12@gmail.com>
Date: Fri, 8 Jun 2018 22:04:29 -0500
Subject: [PATCH] server: Create eventfd file descriptors for thread objects.
@@ -9,7 +9,7 @@ Subject: [PATCH] server: Create eventfd file descriptors for thread objects.
2 files changed, 16 insertions(+), 1 deletion(-)
diff --git a/server/thread.c b/server/thread.c
index f5bf4a8d2..b3da4a2f4 100644
index dd94522a2b9..5c52cca0923 100644
--- a/server/thread.c
+++ b/server/thread.c
@@ -133,6 +133,7 @@ static const struct object_ops thread_apc_ops =
@@ -29,15 +29,15 @@ index f5bf4a8d2..b3da4a2f4 100644
no_satisfied, /* satisfied */
no_signal, /* signal */
no_get_fd, /* get_fd */
@@ -186,6 +187,7 @@ static inline void init_thread_structure( struct thread *thread )
thread->suspend_context = NULL;
@@ -185,6 +186,7 @@ static inline void init_thread_structure( struct thread *thread )
thread->context = NULL;
thread->teb = 0;
thread->entry_point = 0;
+ thread->esync_fd = -1;
thread->debug_ctx = NULL;
thread->system_regs = 0;
thread->queue = NULL;
@@ -292,6 +294,9 @@ struct thread *create_thread( int fd, struct process *process, const struct secu
@@ -293,6 +295,9 @@ struct thread *create_thread( int fd, struct process *process, const struct secu
return NULL;
}
@@ -47,7 +47,7 @@ index f5bf4a8d2..b3da4a2f4 100644
set_fd_events( thread->request_fd, POLLIN ); /* start listening to events */
add_process_thread( thread->process, thread );
return thread;
@@ -370,6 +375,9 @@ static void destroy_thread( struct object *obj )
@@ -373,6 +378,9 @@ static void destroy_thread( struct object *obj )
if (thread->exit_poll) remove_timeout_user( thread->exit_poll );
if (thread->id) free_ptid( thread->id );
if (thread->token) release_object( thread->token );
@@ -57,7 +57,7 @@ index f5bf4a8d2..b3da4a2f4 100644
}
/* dump a thread on stdout for debugging purposes */
@@ -395,6 +403,12 @@ static int thread_signaled( struct object *obj, struct wait_queue_entry *entry )
@@ -398,6 +406,12 @@ static int thread_signaled( struct object *obj, struct wait_queue_entry *entry )
return mythread->state == TERMINATED && !mythread->exit_poll;
}
@@ -71,7 +71,7 @@ index f5bf4a8d2..b3da4a2f4 100644
{
if (access & GENERIC_READ) access |= STANDARD_RIGHTS_READ | THREAD_QUERY_INFORMATION | THREAD_GET_CONTEXT;
diff --git a/server/thread.h b/server/thread.h
index 382b10b5b..dd06333fd 100644
index 8029d65df44..21b303aa20a 100644
--- a/server/thread.h
+++ b/server/thread.h
@@ -54,6 +54,7 @@ struct thread
@@ -83,5 +83,5 @@ index 382b10b5b..dd06333fd 100644
unsigned int system_regs; /* which system regs have been set */
struct msg_queue *queue; /* message queue */
--
2.22.0
2.26.0