[PATCH 1/2] Define TRANS_RECEIVED flag for transports

Peter Hutterer peter.hutterer at who-t.net
Thu Nov 28 20:37:59 PST 2013


On Thu, Nov 28, 2013 at 04:21:13PM +0100, Hans de Goede wrote:
> From: Łukasz Stelmach <l.stelmach at samsung.com>
> 
> The flag is to be used to mark transports related to sockets
> received from systemd.
> 
> Signed-off-by: Łukasz Stelmach <l.stelmach at samsung.com>
> Signed-off-by: Hans de Goede <hdegoede at redhat.com>

Acked-by: Peter Hutterer <peter.hutterer at who-t.net>

Cheers,
   Peter


> ---
>  Xtrans.c    | 28 ++++++++++++++++++++++++++++
>  Xtrans.h    |  4 ++++
>  Xtransint.h |  1 +
>  3 files changed, 33 insertions(+)
> 
> diff --git a/Xtrans.c b/Xtrans.c
> index 735d7b8..e478422 100644
> --- a/Xtrans.c
> +++ b/Xtrans.c
> @@ -744,6 +744,34 @@ TRANS(CreateListener) (XtransConnInfo ciptr, char *port, unsigned int flags)
>  }
>  
>  int
> +TRANS(Received) (const char * protocol)
> +
> +{
> +   Xtransport *trans;
> +   int i = 0, ret = 0;
> +
> +   prmsg (5, "Received(%s)\n", protocol);
> +
> +   if ((trans = TRANS(SelectTransport)(protocol)) == NULL)
> +   {
> +	prmsg (1,"Received: unable to find transport: %s\n",
> +	       protocol);
> +
> +	return -1;
> +   }
> +   if (trans->flags & TRANS_ALIAS) {
> +       if (trans->nolisten)
> +	   while (trans->nolisten[i]) {
> +	       ret |= TRANS(Received)(trans->nolisten[i]);
> +	       i++;
> +       }
> +   }
> +
> +   trans->flags |= TRANS_RECEIVED;
> +   return ret;
> +}
> +
> +int
>  TRANS(NoListen) (const char * protocol)
>  
>  {
> diff --git a/Xtrans.h b/Xtrans.h
> index 69accd7..1754720 100644
> --- a/Xtrans.h
> +++ b/Xtrans.h
> @@ -303,6 +303,10 @@ int TRANS(CreateListener)(
>      unsigned int	/* flags */
>  );
>  
> +int TRANS(Received) (
> +    const char*         /* protocol*/
> +);
> +
>  int TRANS(NoListen) (
>      const char*         /* protocol*/
>  );
> diff --git a/Xtransint.h b/Xtransint.h
> index 1f32f0c..958f533 100644
> --- a/Xtransint.h
> +++ b/Xtransint.h
> @@ -335,6 +335,7 @@ typedef struct _Xtransport_table {
>  #define TRANS_NOUNLINK	(1<<4)	/* Don't unlink transport endpoints */
>  #define TRANS_ABSTRACT	(1<<5)	/* Use abstract sockets if available */
>  #define TRANS_NOXAUTH	(1<<6)	/* Don't verify authentication (because it's secure some other way at the OS layer) */
> +#define TRANS_RECEIVED	(1<<7)  /* The fd for this has already been opened by someone else. */
>  
>  /* Flags to preserve when setting others */
>  #define TRANS_KEEPFLAGS	(TRANS_NOUNLINK|TRANS_ABSTRACT)
> -- 
> 1.8.4.2
> 
> _______________________________________________
> xorg-devel at lists.x.org: X.Org development
> Archives: http://lists.x.org/archives/xorg-devel
> Info: http://lists.x.org/mailman/listinfo/xorg-devel
> 


More information about the xorg-devel mailing list