[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-Id: <20121023.134236.1262093514433122608.davem@davemloft.net>
Date: Tue, 23 Oct 2012 13:42:36 -0400 (EDT)
From: David Miller <davem@...emloft.net>
To: xemul@...allels.com
Cc: netdev@...r.kernel.org
Subject: Re: [PATCH 3/3] sock-diag: Report shutdown for inet and unix
sockets
From: Pavel Emelyanov <xemul@...allels.com>
Date: Tue, 23 Oct 2012 20:28:22 +0400
> +static inline int shutdown_mask2u(int mask)
> +{
> + /*
> + * map
> + * RCV_SHUTDOWN -> SHUT_RD
> + * SEND_SHUTDOWN -> SHUT_WR
> + * SHUTDOWN_MASK -> SHUT_RDWR
> + */
> +
> + return mask - 1;
> +}
This is horrible.
You're returning "-1" when the socket hasn't been shutdown in any way.
Do this:
1) Use a '1' based encoding like the kernel codes so that '0' means
no shutdown, as any sane interface would. That's why we use that
representation internally.
2) Get rid of all of this extension crap, and just report this value
in the pad byte. In older kernels it will just be zero, which is
fine.
--
To unsubscribe from this list: send the line "unsubscribe netdev" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Powered by blists - more mailing lists