[wing/wip/clientoverlapped: 2/2] pipelistener: create a new pipe right after accepting



commit 40891cac9fa4795cefd01c08d54d44c68d5c1944
Author: Ignacio Casal Quinteiro <ignacio casal nice-software com>
Date:   Wed Sep 14 17:12:31 2016 +0200

    pipelistener: create a new pipe right after accepting

 wing/wingnamedpipelistener.c |   12 ++++++++++--
 1 files changed, 10 insertions(+), 2 deletions(-)
---
diff --git a/wing/wingnamedpipelistener.c b/wing/wingnamedpipelistener.c
index 27422cb..f65f7e3 100644
--- a/wing/wingnamedpipelistener.c
+++ b/wing/wingnamedpipelistener.c
@@ -544,6 +544,7 @@ wing_named_pipe_listener_accept_async (WingNamedPipeListener *listener,
   if (pipe_data != NULL)
     {
       WingNamedPipeConnection *connection;
+      GError *error = NULL;
 
       if (pipe_data->source_object)
         g_object_set_qdata_full (G_OBJECT (task),
@@ -554,10 +555,17 @@ wing_named_pipe_listener_accept_async (WingNamedPipeListener *listener,
       connection = g_object_new (WING_TYPE_NAMED_PIPE_CONNECTION,
                                  "pipe-name", pipe_data->pipe_name,
                                  "handle", pipe_data->handle,
-                                 "close-handle", FALSE,
+                                 "close-handle", TRUE,
                                  NULL);
 
-      g_task_return_pointer (task, connection, g_object_unref);
+      if (!create_pipe_from_pipe_data (pipe_data, &error))
+        {
+          g_object_unref (connection);
+          g_task_return_error (task, error);
+        }
+      else
+        g_task_return_pointer (task, connection, g_object_unref);
+
       g_object_unref (task);
 
       return;


[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]