diff options
author | Allan Stephens <allan.stephens@windriver.com> | 2008-04-15 03:22:02 -0400 |
---|---|---|
committer | David S. Miller <davem@davemloft.net> | 2008-04-15 03:22:02 -0400 |
commit | 0c3141e910eaaa0b617e2f26c69b266d1cd1f035 (patch) | |
tree | 53b9f635b8dc2bf82d49e2d29f6e07677fa4811e /include/net/tipc | |
parent | b89741a0cc162511b4341c07e17e1bd4c8b4621d (diff) |
[TIPC]: Overhaul of socket locking logic
This patch modifies TIPC's socket code to follow the same approach
used by other protocols. This change eliminates the need for a
mutex in the TIPC-specific portion of the socket protocol data
structure -- in its place, the standard Linux socket backlog queue
and associated locking routines are utilized. These changes fix
a long-standing receive queue bug on SMP systems, and also enable
individual read and write threads to utilize a socket without
unnecessarily interfering with each other.
Signed-off-by: Allan Stephens <allan.stephens@windriver.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'include/net/tipc')
-rw-r--r-- | include/net/tipc/tipc_port.h | 6 |
1 files changed, 6 insertions, 0 deletions
diff --git a/include/net/tipc/tipc_port.h b/include/net/tipc/tipc_port.h index c9b36b77a0b9..11105bcc4457 100644 --- a/include/net/tipc/tipc_port.h +++ b/include/net/tipc/tipc_port.h | |||
@@ -96,6 +96,12 @@ struct tipc_port *tipc_get_port(const u32 ref); | |||
96 | 96 | ||
97 | void *tipc_get_handle(const u32 ref); | 97 | void *tipc_get_handle(const u32 ref); |
98 | 98 | ||
99 | /* | ||
100 | * The following routines require that the port be locked on entry | ||
101 | */ | ||
102 | |||
103 | int tipc_disconnect_port(struct tipc_port *tp_ptr); | ||
104 | |||
99 | 105 | ||
100 | #endif | 106 | #endif |
101 | 107 | ||