Re: [spice-gtk Win32 v3 02/12] NamedPipe: spice_named_pipe_new: add param to distinguish Server or Client

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

 



On 06/28/2012 01:31 PM, Marc-André Lureau wrote:
Currently both users are servers.
---
  gtk/controller/namedpipe.c                   |   24
+++++++++++++++++-------
  gtk/controller/namedpipe.h                   |    4 +++-
  gtk/controller/spice-controller-listener.c   |    2 +-
  gtk/controller/spice-foreign-menu-listener.c |    2 +-
  4 files changed, 22 insertions(+), 10 deletions(-)

diff --git a/gtk/controller/namedpipe.c b/gtk/controller/namedpipe.c
index 355887a..20dde4c 100644
--- a/gtk/controller/namedpipe.c
+++ b/gtk/controller/namedpipe.c
@@ -80,12 +80,21 @@ spice_named_pipe_constructed (GObject *object)
        pipe, in overlapped mode */
     goto end;

-  np->priv->handle = CreateNamedPipe (np->priv->name,
-      PIPE_ACCESS_DUPLEX | FILE_FLAG_OVERLAPPED,
-      PIPE_TYPE_BYTE | PIPE_READMODE_BYTE | PIPE_WAIT,
-      PIPE_UNLIMITED_INSTANCES,
-      DEFAULT_PIPE_BUF_SIZE, DEFAULT_PIPE_BUF_SIZE,
-      0, NULL);
+  if (np->priv->is_server) {
+      np->priv->handle = CreateNamedPipe (np->priv->name,
+          PIPE_ACCESS_DUPLEX | FILE_FLAG_OVERLAPPED,
+          PIPE_TYPE_BYTE | PIPE_READMODE_BYTE | PIPE_WAIT,
+          PIPE_UNLIMITED_INSTANCES,
+          DEFAULT_PIPE_BUF_SIZE, DEFAULT_PIPE_BUF_SIZE,
+          0, NULL);
+  } else {
+      np->priv->handle = CreateFile (np->priv->name,
+          GENERIC_READ | GENERIC_WRITE,
+          0, NULL,
+          OPEN_EXISTING,
+          FILE_ATTRIBUTE_NORMAL | FILE_FLAG_OVERLAPPED,
+          NULL);
+  }

Are you sure you need namedpipe object for that?

I think you could have used regular GWin32InputStream GWin32OutputStream..

(that was my initial design, iirc)

I'm not sure I really need a namedpipe object.
It's one way to implement it, using NamedPipe and NamedPipe connection and GIOStream.
Does GWin32InputStream/OutputStream better ?  In what way ?

Note that the NamedPipe class was only acting as server.
These first two patches implements a NamedPipe client.

Thanks,
    Uri.
_______________________________________________
Spice-devel mailing list
Spice-devel@xxxxxxxxxxxxxxxxxxxxx
http://lists.freedesktop.org/mailman/listinfo/spice-devel



[Index of Archives]     [Linux ARM Kernel]     [Linux ARM]     [Linux Omap]     [Fedora ARM]     [IETF Annouce]     [Security]     [Bugtraq]     [Linux]     [Linux OMAP]     [Linux MIPS]     [ECOS]     [Asterisk Internet PBX]     [Linux API]     [Monitors]