summaryrefslogtreecommitdiffstats
path: root/include/net/tipc
diff options
context:
space:
mode:
authorAllan Stephens <allan.stephens@windriver.com>2008-04-15 00:22:02 -0700
committerDavid S. Miller <davem@davemloft.net>2008-04-15 00:22:02 -0700
commit0c3141e910eaaa0b617e2f26c69b266d1cd1f035 (patch)
tree53b9f635b8dc2bf82d49e2d29f6e07677fa4811e /include/net/tipc
parentb89741a0cc162511b4341c07e17e1bd4c8b4621d (diff)
downloadblackbird-op-linux-0c3141e910eaaa0b617e2f26c69b266d1cd1f035.tar.gz
blackbird-op-linux-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/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);
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
OpenPOWER on IntegriCloud