aboutsummaryrefslogtreecommitdiffstats
path: root/include/net/tipc
diff options
context:
space:
mode:
authorAllan Stephens <allan.stephens@windriver.com>2008-04-15 03:22:02 -0400
committerDavid S. Miller <davem@davemloft.net>2008-04-15 03:22:02 -0400
commit0c3141e910eaaa0b617e2f26c69b266d1cd1f035 (patch)
tree53b9f635b8dc2bf82d49e2d29f6e07677fa4811e /include/net/tipc
parentb89741a0cc162511b4341c07e17e1bd4c8b4621d (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.h6
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
97void *tipc_get_handle(const u32 ref); 97void *tipc_get_handle(const u32 ref);
98 98
99/*
100 * The following routines require that the port be locked on entry
101 */
102
103int tipc_disconnect_port(struct tipc_port *tp_ptr);
104
99 105
100#endif 106#endif
101 107