diff options
| author | Pavel Emelyanov <xemul@openvz.org> | 2007-11-23 20:30:01 +0800 | 
|---|---|---|
| committer | David S. Miller <davem@davemloft.net> | 2008-01-28 14:54:49 -0800 | 
| commit | a53eb3feb2718bf906e81be89fae823b9b6157b6 (patch) | |
| tree | 4f854d526d80c8386d0212f1a12924c8d9b7fbf0 /net/unix/af_unix.c | |
| parent | c28149016c24f4399c0a1eb0ebc15c92611223f0 (diff) | |
[UNIX] Move the unix sock iterators in to proper place
The first_unix_socket() and next_unix_sockets() are now used
in proc file and in forall_unix_socets macro only.
The forall_unix_sockets is not used in this file at all so
remove it. After this move the helpers to where they really
belong, i.e. closer to proc code under the #ifdef CONFIG_PROC_FS
option.
Signed-off-by: Pavel Emelyanov <xemul@openvz.org>
Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au>
Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'net/unix/af_unix.c')
| -rw-r--r-- | net/unix/af_unix.c | 49 | 
1 files changed, 23 insertions, 26 deletions
diff --git a/net/unix/af_unix.c b/net/unix/af_unix.c index eacddb21a9b..0f1ecbf86d0 100644 --- a/net/unix/af_unix.c +++ b/net/unix/af_unix.c @@ -127,32 +127,6 @@ static atomic_t unix_nr_socks = ATOMIC_INIT(0);  #define UNIX_ABSTRACT(sk)	(unix_sk(sk)->addr->hash != UNIX_HASH_SIZE) -static struct sock *first_unix_socket(int *i) -{ -	for (*i = 0; *i <= UNIX_HASH_SIZE; (*i)++) { -		if (!hlist_empty(&unix_socket_table[*i])) -			return __sk_head(&unix_socket_table[*i]); -	} -	return NULL; -} - -static struct sock *next_unix_socket(int *i, struct sock *s) -{ -	struct sock *next = sk_next(s); -	/* More in this chain? */ -	if (next) -		return next; -	/* Look for next non-empty chain. */ -	for ((*i)++; *i <= UNIX_HASH_SIZE; (*i)++) { -		if (!hlist_empty(&unix_socket_table[*i])) -			return __sk_head(&unix_socket_table[*i]); -	} -	return NULL; -} - -#define forall_unix_sockets(i, s) \ -	for (s = first_unix_socket(&(i)); s; s = next_unix_socket(&(i),(s))) -  #ifdef CONFIG_SECURITY_NETWORK  static void unix_get_secdata(struct scm_cookie *scm, struct sk_buff *skb)  { @@ -2017,6 +1991,29 @@ static unsigned int unix_poll(struct file * file, struct socket *sock, poll_tabl  #ifdef CONFIG_PROC_FS +static struct sock *first_unix_socket(int *i) +{ +	for (*i = 0; *i <= UNIX_HASH_SIZE; (*i)++) { +		if (!hlist_empty(&unix_socket_table[*i])) +			return __sk_head(&unix_socket_table[*i]); +	} +	return NULL; +} + +static struct sock *next_unix_socket(int *i, struct sock *s) +{ +	struct sock *next = sk_next(s); +	/* More in this chain? */ +	if (next) +		return next; +	/* Look for next non-empty chain. */ +	for ((*i)++; *i <= UNIX_HASH_SIZE; (*i)++) { +		if (!hlist_empty(&unix_socket_table[*i])) +			return __sk_head(&unix_socket_table[*i]); +	} +	return NULL; +} +  struct unix_iter_state {  	struct seq_net_private p;  	int i;  | 
