You've already forked wine-staging
mirror of
https://gitlab.winehq.org/wine/wine-staging.git
synced 2025-04-13 14:42:51 -07:00
Rebase against 2f5f8b4bd4cb5771223d1ee96a55002d18ad01eb.
This commit is contained in:
File diff suppressed because it is too large
Load Diff
@@ -1,17 +1,17 @@
|
||||
From fb450637e3b533b3dbef8792aa389ca3614bedf3 Mon Sep 17 00:00:00 2001
|
||||
From fa9bbbaa8630c4b259e287437a627e226c1c34da 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.
|
||||
|
||||
---
|
||||
server/console.c | 22 +++++++++++++++++++++-
|
||||
1 file changed, 21 insertions(+), 1 deletion(-)
|
||||
server/console.c | 36 ++++++++++++++++++++++++++++--------
|
||||
1 file changed, 28 insertions(+), 8 deletions(-)
|
||||
|
||||
diff --git a/server/console.c b/server/console.c
|
||||
index dd1bf8f4119..887bba4e63c 100644
|
||||
index e7c97e99579..98ac09efc3f 100644
|
||||
--- a/server/console.c
|
||||
+++ b/server/console.c
|
||||
@@ -42,6 +42,7 @@
|
||||
@@ -41,6 +41,7 @@
|
||||
#include "wincon.h"
|
||||
#include "winternl.h"
|
||||
#include "wine/condrv.h"
|
||||
@@ -19,10 +19,26 @@ index dd1bf8f4119..887bba4e63c 100644
|
||||
|
||||
struct screen_buffer;
|
||||
|
||||
@@ -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 */
|
||||
@@ -131,20 +132,22 @@ struct console_host_ioctl
|
||||
|
||||
struct console_server
|
||||
{
|
||||
- struct object obj; /* object header */
|
||||
- struct fd *fd; /* pseudo-fd for ioctls */
|
||||
- struct console *console; /* attached console */
|
||||
- struct list queue; /* ioctl queue */
|
||||
- struct list read_queue; /* blocking read queue */
|
||||
+ struct object obj; /* object header */
|
||||
+ struct fd *fd; /* pseudo-fd for ioctls */
|
||||
+ struct console *console; /* attached console */
|
||||
+ struct list queue; /* ioctl queue */
|
||||
+ struct list read_queue; /* blocking read queue */
|
||||
unsigned int busy : 1; /* flag if server processing an ioctl */
|
||||
unsigned int once_input : 1; /* flag if input thread has already been requested */
|
||||
- int term_fd; /* UNIX terminal fd */
|
||||
- struct termios termios; /* original termios */
|
||||
+ int term_fd; /* UNIX terminal fd */
|
||||
+ struct termios termios; /* original termios */
|
||||
+ int esync_fd;
|
||||
};
|
||||
|
||||
@@ -33,7 +49,7 @@ index dd1bf8f4119..887bba4e63c 100644
|
||||
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, struct object *root );
|
||||
@@ -158,7 +161,7 @@ static const struct object_ops console_server_ops =
|
||||
@@ -159,7 +162,7 @@ static const struct object_ops console_server_ops =
|
||||
add_queue, /* add_queue */
|
||||
remove_queue, /* remove_queue */
|
||||
console_server_signaled, /* signaled */
|
||||
@@ -42,7 +58,7 @@ index dd1bf8f4119..887bba4e63c 100644
|
||||
no_satisfied, /* satisfied */
|
||||
no_signal, /* signal */
|
||||
console_server_get_fd, /* get_fd */
|
||||
@@ -526,6 +529,8 @@ static void disconnect_console_server( struct console_server *server )
|
||||
@@ -597,6 +600,8 @@ static void disconnect_console_server( struct console_server *server )
|
||||
list_remove( &call->entry );
|
||||
console_host_ioctl_terminate( call, STATUS_CANCELLED );
|
||||
}
|
||||
@@ -51,7 +67,7 @@ index dd1bf8f4119..887bba4e63c 100644
|
||||
while (!list_empty( &server->read_queue ))
|
||||
{
|
||||
struct console_host_ioctl *call = LIST_ENTRY( list_head( &server->read_queue ), struct console_host_ioctl, entry );
|
||||
@@ -844,6 +849,13 @@ static int console_server_signaled( struct object *obj, struct wait_queue_entry
|
||||
@@ -897,6 +902,13 @@ static int console_server_signaled( struct object *obj, struct wait_queue_entry
|
||||
return !server->console || !list_empty( &server->queue );
|
||||
}
|
||||
|
||||
@@ -65,7 +81,7 @@ index dd1bf8f4119..887bba4e63c 100644
|
||||
static struct fd *console_server_get_fd( struct object* obj )
|
||||
{
|
||||
struct console_server *server = (struct console_server*)obj;
|
||||
@@ -874,6 +886,10 @@ static struct object *create_console_server( void )
|
||||
@@ -928,6 +940,10 @@ static struct object *create_console_server( void )
|
||||
return NULL;
|
||||
}
|
||||
allow_fd_caching(server->fd);
|
||||
@@ -76,7 +92,7 @@ index dd1bf8f4119..887bba4e63c 100644
|
||||
|
||||
return &server->obj;
|
||||
}
|
||||
@@ -1388,6 +1404,8 @@ DECL_HANDLER(get_next_console_request)
|
||||
@@ -1513,6 +1529,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 +101,7 @@ index dd1bf8f4119..887bba4e63c 100644
|
||||
}
|
||||
|
||||
if (ioctl)
|
||||
@@ -1486,6 +1504,8 @@ DECL_HANDLER(get_next_console_request)
|
||||
@@ -1598,6 +1616,8 @@ DECL_HANDLER(get_next_console_request)
|
||||
{
|
||||
set_error( STATUS_PENDING );
|
||||
}
|
||||
@@ -95,5 +111,5 @@ index dd1bf8f4119..887bba4e63c 100644
|
||||
release_object( server );
|
||||
}
|
||||
--
|
||||
2.29.2
|
||||
2.34.1
|
||||
|
||||
|
@@ -51,7 +51,7 @@ usage()
|
||||
# Get the upstream commit sha
|
||||
upstream_commit()
|
||||
{
|
||||
echo "533616d23f9832596e41f839356830c7679df930"
|
||||
echo "2f5f8b4bd4cb5771223d1ee96a55002d18ad01eb"
|
||||
}
|
||||
|
||||
# Show version information
|
||||
|
@@ -1 +1 @@
|
||||
533616d23f9832596e41f839356830c7679df930
|
||||
2f5f8b4bd4cb5771223d1ee96a55002d18ad01eb
|
||||
|
Reference in New Issue
Block a user