Rebase against 9faa5eeddd24a057d9ff522259c9dbdc6203c098.

This commit is contained in:
Alistair Leslie-Hughes
2020-11-27 11:25:44 +11:00
parent b9d3415f29
commit 3b0de86bf9
11 changed files with 103 additions and 114 deletions

View File

@@ -1,4 +1,4 @@
From 6202eab7a05dae145676e55f7fd7373569930cda Mon Sep 17 00:00:00 2001
From fb450637e3b533b3dbef8792aa389ca3614bedf3 Mon Sep 17 00:00:00 2001
From: Zebediah Figura <z.figura12@gmail.com>
Date: Sat, 17 Oct 2020 19:13:16 -0500
Subject: [PATCH] server: Create esync file descriptors for console servers.
@@ -8,7 +8,7 @@ Subject: [PATCH] server: Create esync file descriptors for console servers.
1 file changed, 21 insertions(+), 1 deletion(-)
diff --git a/server/console.c b/server/console.c
index c0892b251c4..99831b299b8 100644
index dd1bf8f4119..887bba4e63c 100644
--- a/server/console.c
+++ b/server/console.c
@@ -42,6 +42,7 @@
@@ -19,7 +19,7 @@ index c0892b251c4..99831b299b8 100644
struct screen_buffer;
@@ -134,11 +135,13 @@ struct console_server
@@ -139,11 +140,13 @@ struct console_server
int busy; /* flag if server processing an ioctl */
int term_fd; /* UNIX terminal fd */
struct termios termios; /* original termios */
@@ -31,9 +31,9 @@ index c0892b251c4..99831b299b8 100644
static int console_server_signaled( struct object *obj, struct wait_queue_entry *entry );
+static int console_server_get_esync_fd( struct object *obj, enum esync_type *type );
static struct fd *console_server_get_fd( struct object *obj );
static struct object *console_server_lookup_name( struct object *obj, struct unicode_str *name, unsigned int attr );
static struct object *console_server_open_file( struct object *obj, unsigned int access,
@@ -152,7 +155,7 @@ static const struct object_ops console_server_ops =
static struct object *console_server_lookup_name( struct object *obj, struct unicode_str *name,
unsigned int attr, struct object *root );
@@ -158,7 +161,7 @@ static const struct object_ops console_server_ops =
add_queue, /* add_queue */
remove_queue, /* remove_queue */
console_server_signaled, /* signaled */
@@ -42,7 +42,7 @@ index c0892b251c4..99831b299b8 100644
no_satisfied, /* satisfied */
no_signal, /* signal */
console_server_get_fd, /* get_fd */
@@ -427,6 +430,8 @@ static void disconnect_console_server( struct console_server *server )
@@ -526,6 +529,8 @@ static void disconnect_console_server( struct console_server *server )
list_remove( &call->entry );
console_host_ioctl_terminate( call, STATUS_CANCELLED );
}
@@ -51,7 +51,7 @@ index c0892b251c4..99831b299b8 100644
while (!list_empty( &server->read_queue ))
{
struct console_host_ioctl *call = LIST_ENTRY( list_head( &server->read_queue ), struct console_host_ioctl, entry );
@@ -764,6 +769,13 @@ static int console_server_signaled( struct object *obj, struct wait_queue_entry
@@ -844,6 +849,13 @@ static int console_server_signaled( struct object *obj, struct wait_queue_entry
return !server->console || !list_empty( &server->queue );
}
@@ -65,7 +65,7 @@ index c0892b251c4..99831b299b8 100644
static struct fd *console_server_get_fd( struct object* obj )
{
struct console_server *server = (struct console_server*)obj;
@@ -794,6 +806,10 @@ static struct object *create_console_server( void )
@@ -874,6 +886,10 @@ static struct object *create_console_server( void )
return NULL;
}
allow_fd_caching(server->fd);
@@ -76,7 +76,7 @@ index c0892b251c4..99831b299b8 100644
return &server->obj;
}
@@ -1219,6 +1235,8 @@ DECL_HANDLER(get_next_console_request)
@@ -1388,6 +1404,8 @@ DECL_HANDLER(get_next_console_request)
/* set result of previous ioctl */
ioctl = LIST_ENTRY( list_head( &server->queue ), struct console_host_ioctl, entry );
list_remove( &ioctl->entry );
@@ -85,7 +85,7 @@ index c0892b251c4..99831b299b8 100644
}
if (ioctl)
@@ -1309,6 +1327,8 @@ DECL_HANDLER(get_next_console_request)
@@ -1486,6 +1504,8 @@ DECL_HANDLER(get_next_console_request)
{
set_error( STATUS_PENDING );
}
@@ -95,5 +95,5 @@ index c0892b251c4..99831b299b8 100644
release_object( server );
}
--
2.28.0
2.29.2