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