diff options
author | Allan Stephens <allan.stephens@windriver.com> | 2008-04-15 00:22:02 -0700 |
---|---|---|
committer | David S. Miller <davem@davemloft.net> | 2008-04-15 00:22:02 -0700 |
commit | 0c3141e910eaaa0b617e2f26c69b266d1cd1f035 (patch) | |
tree | 53b9f635b8dc2bf82d49e2d29f6e07677fa4811e /include | |
parent | b89741a0cc162511b4341c07e17e1bd4c8b4621d (diff) | |
download | linux-stable-0c3141e910eaaa0b617e2f26c69b266d1cd1f035.tar.gz linux-stable-0c3141e910eaaa0b617e2f26c69b266d1cd1f035.tar.bz2 linux-stable-0c3141e910eaaa0b617e2f26c69b266d1cd1f035.zip |
[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')
-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); void *tipc_get_handle(const u32 ref); +/* + * The following routines require that the port be locked on entry + */ + +int tipc_disconnect_port(struct tipc_port *tp_ptr); + #endif |