Jacek Caban : server: Remove no longer needed free_console.
Alexandre Julliard
julliard at winehq.org
Mon Nov 30 16:13:47 CST 2020
Module: wine
Branch: master
Commit: 23e7b859a11cfe715ffc1ef899149a026870f482
URL: https://source.winehq.org/git/wine.git/?a=commit;h=23e7b859a11cfe715ffc1ef899149a026870f482
Author: Jacek Caban <jacek at codeweavers.com>
Date: Mon Nov 30 18:42:02 2020 +0100
server: Remove no longer needed free_console.
Signed-off-by: Jacek Caban <jacek at codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard at winehq.org>
---
server/console.c | 30 +++++++-----------------------
server/process.c | 4 +---
server/process.h | 1 -
3 files changed, 8 insertions(+), 27 deletions(-)
diff --git a/server/console.c b/server/console.c
index 295db7767b2..0e779c77816 100644
--- a/server/console.c
+++ b/server/console.c
@@ -55,7 +55,6 @@ struct console
{
struct object obj; /* object header */
int signaled; /* is console signaled */
- int num_proc; /* number of processes attached to this console */
struct thread *renderer; /* console renderer thread */
struct screen_buffer *active; /* active screen buffer */
struct console_server *server; /* console server object */
@@ -513,7 +512,6 @@ static struct object *create_console(void)
console->renderer = NULL;
console->signaled = 0;
- console->num_proc = 0;
console->active = NULL;
console->server = NULL;
console->fd = NULL;
@@ -635,20 +633,6 @@ static struct object *create_screen_buffer( struct console *console )
return &screen_buffer->obj;
}
-/* free the console for this process */
-int free_console( struct process *process )
-{
- struct console *console = process->console;
-
- if (!console) return 0;
-
- process->console = NULL;
- console->num_proc--;
- release_object( console );
-
- return 1;
-}
-
struct thread *console_get_renderer( struct console *console )
{
return console->renderer;
@@ -755,10 +739,7 @@ static struct object *create_console_connection( struct console *console )
}
if (console)
- {
current->process->console = (struct console *)grab_object( console );
- console->num_proc++;
- }
return &connection->obj;
}
@@ -1072,10 +1053,7 @@ static int console_connection_ioctl( struct fd *fd, ioctl_code_t code, struct as
if (!(process = get_process_from_id( pid ))) return 0;
if (process->console)
- {
current->process->console = (struct console *)grab_object( process->console );
- process->console->num_proc++;
- }
else set_error( STATUS_ACCESS_DENIED );
release_object( process );
return !get_error();
@@ -1200,7 +1178,13 @@ static struct object *console_connection_open_file( struct object *obj, unsigned
static int console_connection_close_handle( struct object *obj, struct process *process, obj_handle_t handle )
{
- free_console( process );
+ struct console *console = process->console;
+
+ if (console)
+ {
+ process->console = NULL;
+ release_object( console );
+ }
return 1;
}
diff --git a/server/process.c b/server/process.c
index 5b3e29e5dfd..4a366b4d3b0 100644
--- a/server/process.c
+++ b/server/process.c
@@ -915,9 +915,7 @@ static void process_killed( struct process *process )
if (process->exe_file) release_object( process->exe_file );
process->idle_event = NULL;
process->exe_file = NULL;
-
- /* close the console attached to this process, if any */
- free_console( process );
+ assert( !process->console );
while ((ptr = list_head( &process->rawinput_devices )))
{
diff --git a/server/process.h b/server/process.h
index b4f3660d89a..374eda65b6b 100644
--- a/server/process.h
+++ b/server/process.h
@@ -132,7 +132,6 @@ extern void detach_debugged_processes( struct thread *debugger );
extern void enum_processes( int (*cb)(struct process*, void*), void *user);
/* console functions */
-extern int free_console( struct process *process );
extern struct thread *console_get_renderer( struct console *console );
/* process tracing mechanism to use */
More information about the wine-cvs
mailing list