[Spice-devel] [PATCH spice-gtk] Allow open_fd() to be called with -1

Hans de Goede hdegoede at redhat.com
Thu Mar 1 01:55:12 PST 2012


Ack.

On 02/29/2012 02:03 PM, Marc-André Lureau wrote:
> In this case, a valid fd will be requested via the
> SpiceChannel::open-fd signal.
> ---
>   gtk/spice-channel.c |    8 ++++++--
>   gtk/spice-session.c |    8 ++++++--
>   2 files changed, 12 insertions(+), 4 deletions(-)
>
> diff --git a/gtk/spice-channel.c b/gtk/spice-channel.c
> index 972a3bb..c1c145a 100644
> --- a/gtk/spice-channel.c
> +++ b/gtk/spice-channel.c
> @@ -2302,10 +2302,14 @@ gboolean spice_channel_connect(SpiceChannel *channel)
>   /**
>    * spice_channel_open_fd:
>    * @channel:
> - * @fd: a file descriptor (socket)
> + * @fd: a file descriptor (socket) or -1.
> + * request mechanism
>    *
>    * Connect the channel using @fd socket.
>    *
> + * If @fd is -1, a valid fd will be requested later via the
> + * SpiceChannel::open-fd signal.
> + *
>    * Returns: %TRUE on success.
>    **/
>   gboolean spice_channel_open_fd(SpiceChannel *channel, int fd)
> @@ -2313,7 +2317,7 @@ gboolean spice_channel_open_fd(SpiceChannel *channel, int fd)
>       SpiceChannelPrivate *c = SPICE_CHANNEL_GET_PRIVATE(channel);
>
>       g_return_val_if_fail(c != NULL, FALSE);
> -    g_return_val_if_fail(fd>= 0, FALSE);
> +    g_return_val_if_fail(fd>= -1, FALSE);
>
>       c->fd = fd;
>
> diff --git a/gtk/spice-session.c b/gtk/spice-session.c
> index c328f66..dca9b3a 100644
> --- a/gtk/spice-session.c
> +++ b/gtk/spice-session.c
> @@ -1042,12 +1042,15 @@ gboolean spice_session_connect(SpiceSession *session)
>   /**
>    * spice_session_open_fd:
>    * @session:
> - * @fd: a file descriptor
> + * @fd: a file descriptor (socket) or -1
>    *
>    * Open the session using the provided @fd socket file
>    * descriptor. This is useful if you create the fd yourself, for
>    * example to setup a SSH tunnel.
>    *
> + * If @fd is -1, a valid fd will be requested later via the
> + * SpiceChannel::open-fd signal.
> + *
>    * Returns:
>    **/
>   gboolean spice_session_open_fd(SpiceSession *session, int fd)
> @@ -1055,9 +1058,10 @@ gboolean spice_session_open_fd(SpiceSession *session, int fd)
>       SpiceSessionPrivate *s = SPICE_SESSION_GET_PRIVATE(session);
>
>       g_return_val_if_fail(s != NULL, FALSE);
> -    g_return_val_if_fail(fd>= 0, FALSE);
> +    g_return_val_if_fail(fd>= -1, FALSE);
>
>       spice_session_disconnect(session);
> +    s->disconnecting = FALSE;
>
>       s->client_provided_sockets = TRUE;
>


More information about the Spice-devel mailing list