Jacek Caban : kernelbase: Add ClosePseudoConsole implementation.

Alexandre Julliard julliard at winehq.org
Fri Aug 21 16:43:26 CDT 2020


Module: wine
Branch: master
Commit: 0ec191eb0fd161e3bbd9e92270282d3d81e2cf11
URL:    https://source.winehq.org/git/wine.git/?a=commit;h=0ec191eb0fd161e3bbd9e92270282d3d81e2cf11

Author: Jacek Caban <jacek at codeweavers.com>
Date:   Thu Aug 20 23:49:00 2020 +0200

kernelbase: Add ClosePseudoConsole implementation.

Signed-off-by: Jacek Caban <jacek at codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard at winehq.org>

---

 dlls/kernelbase/console.c | 13 ++++++++++++-
 1 file changed, 12 insertions(+), 1 deletion(-)

diff --git a/dlls/kernelbase/console.c b/dlls/kernelbase/console.c
index cb85061fc9..42dc971227 100644
--- a/dlls/kernelbase/console.c
+++ b/dlls/kernelbase/console.c
@@ -1704,7 +1704,18 @@ HRESULT WINAPI CreatePseudoConsole( COORD size, HANDLE input, HANDLE output, DWO
  */
 void WINAPI ClosePseudoConsole( HPCON handle )
 {
-    FIXME( "%p\n", handle );
+    struct pseudo_console *pseudo_console = handle;
+
+    TRACE( "%p\n", handle );
+
+    if (!pseudo_console) return;
+    if (pseudo_console->signal) CloseHandle( pseudo_console->signal );
+    if (pseudo_console->process)
+    {
+        WaitForSingleObject( pseudo_console->process, INFINITE );
+        CloseHandle( pseudo_console->process );
+    }
+    if (pseudo_console->reference) CloseHandle( pseudo_console->reference );
 }
 
 /******************************************************************************




More information about the wine-cvs mailing list