Source-Changes-HG archive
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]
[src/trunk]: src/sys split PRU_DISCONNECT, PRU_SHUTDOWN and PRU_ABORT functio...
details: https://anonhg.NetBSD.org/src/rev/90aec2c87f6a
branches: trunk
changeset: 331091:90aec2c87f6a
user: rtr <rtr%NetBSD.org@localhost>
date: Thu Jul 31 03:39:35 2014 +0000
description:
split PRU_DISCONNECT, PRU_SHUTDOWN and PRU_ABORT function out of
pr_generic() usrreq switches and put into separate functions
xxx_disconnect(struct socket *)
xxx_shutdown(struct socket *)
xxx_abort(struct socket *)
- always KASSERT(solocked(so)) even if not implemented
- replace calls to pr_generic() with req =
PRU_{DISCONNECT,SHUTDOWN,ABORT}
with calls to pr_{disconnect,shutdown,abort}() respectively
rename existing internal functions used to implement above functionality
to permit use of the names for xxx_{disconnect,shutdown,abort}().
- {l2cap,sco,rfcomm}_disconnect() ->
{l2cap,sco,rfcomm}_disconnect_pcb()
- {unp,rip,tcp}_disconnect() -> {unp,rip,tcp}_disconnect1()
- unp_shutdown() -> unp_shutdown1()
patch reviewed by rmind
diffstat:
sys/dev/bluetooth/bthidev.c | 20 ++--
sys/dev/bluetooth/btmagic.c | 16 ++--
sys/dev/bluetooth/btsco.c | 8 +-
sys/kern/uipc_socket.c | 10 +-
sys/kern/uipc_socket2.c | 6 +-
sys/kern/uipc_usrreq.c | 72 ++++++++++++------
sys/net/link_proto.c | 37 ++++++++-
sys/net/raw_usrreq.c | 19 +---
sys/net/rtsock.c | 53 ++++++++++++-
sys/netatalk/ddp_usrreq.c | 66 +++++++++++-----
sys/netbt/hci_socket.c | 73 ++++++++++++-----
sys/netbt/l2cap.h | 6 +-
sys/netbt/l2cap_socket.c | 68 ++++++++++++----
sys/netbt/l2cap_upper.c | 8 +-
sys/netbt/rfcomm.h | 6 +-
sys/netbt/rfcomm_session.c | 8 +-
sys/netbt/rfcomm_socket.c | 68 ++++++++++++----
sys/netbt/rfcomm_upper.c | 8 +-
sys/netbt/sco.h | 4 +-
sys/netbt/sco_socket.c | 66 ++++++++++++----
sys/netbt/sco_upper.c | 10 +-
sys/netinet/raw_ip.c | 67 ++++++++++++----
sys/netinet/tcp_usrreq.c | 143 ++++++++++++++++++++++++++---------
sys/netinet/tcp_var.h | 4 +-
sys/netinet/udp_usrreq.c | 69 +++++++++++++---
sys/netinet6/raw_ip6.c | 71 ++++++++++++-----
sys/netinet6/udp6_usrreq.c | 86 +++++++++++++++------
sys/netipsec/keysock.c | 59 ++++++++++++++-
sys/netmpls/mpls_proto.c | 34 ++++++++-
sys/netnatm/natm.c | 97 +++++++++++++++--------
sys/rump/net/lib/libsockin/sockin.c | 45 +++++++++-
sys/sys/protosw.h | 32 +++++++-
sys/sys/un.h | 6 +-
33 files changed, 988 insertions(+), 357 deletions(-)
diffs (truncated from 2710 to 300 lines):
diff -r 7f71dadde095 -r 90aec2c87f6a sys/dev/bluetooth/bthidev.c
--- a/sys/dev/bluetooth/bthidev.c Thu Jul 31 02:54:46 2014 +0000
+++ b/sys/dev/bluetooth/bthidev.c Thu Jul 31 03:39:35 2014 +0000
@@ -1,4 +1,4 @@
-/* $NetBSD: bthidev.c,v 1.27 2014/07/30 10:04:25 rtr Exp $ */
+/* $NetBSD: bthidev.c,v 1.28 2014/07/31 03:39:35 rtr Exp $ */
/*-
* Copyright (c) 2006 Itronix Inc.
@@ -32,7 +32,7 @@
*/
#include <sys/cdefs.h>
-__KERNEL_RCSID(0, "$NetBSD: bthidev.c,v 1.27 2014/07/30 10:04:25 rtr Exp $");
+__KERNEL_RCSID(0, "$NetBSD: bthidev.c,v 1.28 2014/07/31 03:39:35 rtr Exp $");
#include <sys/param.h>
#include <sys/condvar.h>
@@ -370,14 +370,14 @@
/* close interrupt channel */
if (sc->sc_int != NULL) {
- l2cap_disconnect(sc->sc_int, 0);
+ l2cap_disconnect_pcb(sc->sc_int, 0);
l2cap_detach_pcb(&sc->sc_int);
sc->sc_int = NULL;
}
/* close control channel */
if (sc->sc_ctl != NULL) {
- l2cap_disconnect(sc->sc_ctl, 0);
+ l2cap_disconnect_pcb(sc->sc_ctl, 0);
l2cap_detach_pcb(&sc->sc_ctl);
sc->sc_ctl = NULL;
}
@@ -450,12 +450,12 @@
switch (sc->sc_state) {
case BTHID_CLOSED:
if (sc->sc_int != NULL) {
- l2cap_disconnect(sc->sc_int, 0);
+ l2cap_disconnect_pcb(sc->sc_int, 0);
break;
}
if (sc->sc_ctl != NULL) {
- l2cap_disconnect(sc->sc_ctl, 0);
+ l2cap_disconnect_pcb(sc->sc_ctl, 0);
break;
}
@@ -678,14 +678,14 @@
mutex_enter(bt_lock);
/* close interrupt channel */
if (sc->sc_int != NULL) {
- l2cap_disconnect(sc->sc_int, 0);
+ l2cap_disconnect_pcb(sc->sc_int, 0);
l2cap_detach_pcb(&sc->sc_int);
sc->sc_int = NULL;
}
/* close control channel */
if (sc->sc_ctl != NULL) {
- l2cap_disconnect(sc->sc_ctl, 0);
+ l2cap_disconnect_pcb(sc->sc_ctl, 0);
l2cap_detach_pcb(&sc->sc_ctl);
sc->sc_ctl = NULL;
}
@@ -939,10 +939,10 @@
return;
if (sc->sc_int != NULL)
- l2cap_disconnect(sc->sc_int, 0);
+ l2cap_disconnect_pcb(sc->sc_int, 0);
if (sc->sc_ctl != NULL)
- l2cap_disconnect(sc->sc_ctl, 0);
+ l2cap_disconnect_pcb(sc->sc_ctl, 0);
}
/*
diff -r 7f71dadde095 -r 90aec2c87f6a sys/dev/bluetooth/btmagic.c
--- a/sys/dev/bluetooth/btmagic.c Thu Jul 31 02:54:46 2014 +0000
+++ b/sys/dev/bluetooth/btmagic.c Thu Jul 31 03:39:35 2014 +0000
@@ -1,4 +1,4 @@
-/* $NetBSD: btmagic.c,v 1.9 2014/07/30 10:04:25 rtr Exp $ */
+/* $NetBSD: btmagic.c,v 1.10 2014/07/31 03:39:35 rtr Exp $ */
/*-
* Copyright (c) 2010 The NetBSD Foundation, Inc.
@@ -85,7 +85,7 @@
*****************************************************************************/
#include <sys/cdefs.h>
-__KERNEL_RCSID(0, "$NetBSD: btmagic.c,v 1.9 2014/07/30 10:04:25 rtr Exp $");
+__KERNEL_RCSID(0, "$NetBSD: btmagic.c,v 1.10 2014/07/31 03:39:35 rtr Exp $");
#include <sys/param.h>
#include <sys/conf.h>
@@ -413,14 +413,14 @@
/* close interrupt channel */
if (sc->sc_int != NULL) {
- l2cap_disconnect(sc->sc_int, 0);
+ l2cap_disconnect_pcb(sc->sc_int, 0);
l2cap_detach_pcb(&sc->sc_int);
sc->sc_int = NULL;
}
/* close control channel */
if (sc->sc_ctl != NULL) {
- l2cap_disconnect(sc->sc_ctl, 0);
+ l2cap_disconnect_pcb(sc->sc_ctl, 0);
l2cap_detach_pcb(&sc->sc_ctl);
sc->sc_ctl = NULL;
}
@@ -670,12 +670,12 @@
switch (sc->sc_state) {
case BTMAGIC_CLOSED:
if (sc->sc_int != NULL) {
- l2cap_disconnect(sc->sc_int, 0);
+ l2cap_disconnect_pcb(sc->sc_int, 0);
break;
}
if (sc->sc_ctl != NULL) {
- l2cap_disconnect(sc->sc_ctl, 0);
+ l2cap_disconnect_pcb(sc->sc_ctl, 0);
break;
}
break;
@@ -1005,10 +1005,10 @@
return;
if (sc->sc_int != NULL)
- l2cap_disconnect(sc->sc_int, 0);
+ l2cap_disconnect_pcb(sc->sc_int, 0);
if (sc->sc_ctl != NULL)
- l2cap_disconnect(sc->sc_ctl, 0);
+ l2cap_disconnect_pcb(sc->sc_ctl, 0);
}
/*
diff -r 7f71dadde095 -r 90aec2c87f6a sys/dev/bluetooth/btsco.c
--- a/sys/dev/bluetooth/btsco.c Thu Jul 31 02:54:46 2014 +0000
+++ b/sys/dev/bluetooth/btsco.c Thu Jul 31 03:39:35 2014 +0000
@@ -1,4 +1,4 @@
-/* $NetBSD: btsco.c,v 1.31 2014/07/30 10:04:25 rtr Exp $ */
+/* $NetBSD: btsco.c,v 1.32 2014/07/31 03:39:35 rtr Exp $ */
/*-
* Copyright (c) 2006 Itronix Inc.
@@ -32,7 +32,7 @@
*/
#include <sys/cdefs.h>
-__KERNEL_RCSID(0, "$NetBSD: btsco.c,v 1.31 2014/07/30 10:04:25 rtr Exp $");
+__KERNEL_RCSID(0, "$NetBSD: btsco.c,v 1.32 2014/07/31 03:39:35 rtr Exp $");
#include <sys/param.h>
#include <sys/audioio.h>
@@ -359,7 +359,7 @@
mutex_enter(bt_lock);
if (sc->sc_sco != NULL) {
DPRINTF("sc_sco=%p\n", sc->sc_sco);
- sco_disconnect(sc->sc_sco, 0);
+ sco_disconnect_pcb(sc->sc_sco, 0);
sco_detach_pcb(&sc->sc_sco);
sc->sc_sco = NULL;
}
@@ -672,7 +672,7 @@
KASSERT(mutex_owned(bt_lock));
if (sc->sc_sco != NULL) {
- sco_disconnect(sc->sc_sco, 0);
+ sco_disconnect_pcb(sc->sc_sco, 0);
sco_detach_pcb(&sc->sc_sco);
}
diff -r 7f71dadde095 -r 90aec2c87f6a sys/kern/uipc_socket.c
--- a/sys/kern/uipc_socket.c Thu Jul 31 02:54:46 2014 +0000
+++ b/sys/kern/uipc_socket.c Thu Jul 31 03:39:35 2014 +0000
@@ -1,4 +1,4 @@
-/* $NetBSD: uipc_socket.c,v 1.228 2014/07/30 10:04:26 rtr Exp $ */
+/* $NetBSD: uipc_socket.c,v 1.229 2014/07/31 03:39:35 rtr Exp $ */
/*-
* Copyright (c) 2002, 2007, 2008, 2009 The NetBSD Foundation, Inc.
@@ -71,7 +71,7 @@
*/
#include <sys/cdefs.h>
-__KERNEL_RCSID(0, "$NetBSD: uipc_socket.c,v 1.228 2014/07/30 10:04:26 rtr Exp $");
+__KERNEL_RCSID(0, "$NetBSD: uipc_socket.c,v 1.229 2014/07/31 03:39:35 rtr Exp $");
#include "opt_compat_netbsd.h"
#include "opt_sock_counters.h"
@@ -853,8 +853,7 @@
} else if (so->so_state & SS_ISDISCONNECTING) {
error = EALREADY;
} else {
- error = (*so->so_proto->pr_usrreqs->pr_generic)(so,
- PRU_DISCONNECT, NULL, NULL, NULL, NULL);
+ error = (*so->so_proto->pr_usrreqs->pr_disconnect)(so);
}
return (error);
}
@@ -1611,8 +1610,7 @@
error = 0;
}
if (how == SHUT_WR || how == SHUT_RDWR)
- error = (*pr->pr_usrreqs->pr_generic)(so,
- PRU_SHUTDOWN, NULL, NULL, NULL, NULL);
+ error = (*pr->pr_usrreqs->pr_shutdown)(so);
return error;
}
diff -r 7f71dadde095 -r 90aec2c87f6a sys/kern/uipc_socket2.c
--- a/sys/kern/uipc_socket2.c Thu Jul 31 02:54:46 2014 +0000
+++ b/sys/kern/uipc_socket2.c Thu Jul 31 03:39:35 2014 +0000
@@ -1,4 +1,4 @@
-/* $NetBSD: uipc_socket2.c,v 1.119 2014/05/19 02:51:24 rmind Exp $ */
+/* $NetBSD: uipc_socket2.c,v 1.120 2014/07/31 03:39:35 rtr Exp $ */
/*-
* Copyright (c) 2008 The NetBSD Foundation, Inc.
@@ -58,7 +58,7 @@
*/
#include <sys/cdefs.h>
-__KERNEL_RCSID(0, "$NetBSD: uipc_socket2.c,v 1.119 2014/05/19 02:51:24 rmind Exp $");
+__KERNEL_RCSID(0, "$NetBSD: uipc_socket2.c,v 1.120 2014/07/31 03:39:35 rtr Exp $");
#include "opt_mbuftrace.h"
#include "opt_sb_max.h"
@@ -437,7 +437,7 @@
* socantsendmore: indicates that no more data will be sent on the
* socket; it would normally be applied to a socket when the user
* informs the system that no more data is to be sent, by the protocol
- * code (in case PRU_SHUTDOWN).
+ * code (in case pr_shutdown()).
*/
void
socantsendmore(struct socket *so)
diff -r 7f71dadde095 -r 90aec2c87f6a sys/kern/uipc_usrreq.c
--- a/sys/kern/uipc_usrreq.c Thu Jul 31 02:54:46 2014 +0000
+++ b/sys/kern/uipc_usrreq.c Thu Jul 31 03:39:35 2014 +0000
@@ -1,4 +1,4 @@
-/* $NetBSD: uipc_usrreq.c,v 1.162 2014/07/30 10:04:26 rtr Exp $ */
+/* $NetBSD: uipc_usrreq.c,v 1.163 2014/07/31 03:39:35 rtr Exp $ */
/*-
* Copyright (c) 1998, 2000, 2004, 2008, 2009 The NetBSD Foundation, Inc.
@@ -96,7 +96,7 @@
*/
#include <sys/cdefs.h>
-__KERNEL_RCSID(0, "$NetBSD: uipc_usrreq.c,v 1.162 2014/07/30 10:04:26 rtr Exp $");
+__KERNEL_RCSID(0, "$NetBSD: uipc_usrreq.c,v 1.163 2014/07/31 03:39:35 rtr Exp $");
#include <sys/param.h>
#include <sys/systm.h>
@@ -399,6 +399,9 @@
KASSERT(req != PRU_BIND);
KASSERT(req != PRU_LISTEN);
KASSERT(req != PRU_CONNECT);
+ KASSERT(req != PRU_DISCONNECT);
+ KASSERT(req != PRU_SHUTDOWN);
+ KASSERT(req != PRU_ABORT);
KASSERT(req != PRU_CONTROL);
KASSERT(req != PRU_SENSE);
KASSERT(req != PRU_PEERADDR);
@@ -420,15 +423,6 @@
error = unp_connect2(so, (struct socket *)nam, PRU_CONNECT2);
break;
- case PRU_DISCONNECT:
- unp_disconnect(unp);
- break;
-
- case PRU_SHUTDOWN:
- socantsendmore(so);
- unp_shutdown(unp);
- break;
-
case PRU_RCVD:
switch (so->so_type) {
@@ -513,7 +507,7 @@
KASSERT(l != NULL);
error = unp_output(m, control, unp, l);
if (nam)
- unp_disconnect(unp);
+ unp_disconnect1(unp);
break;
}
@@ -578,13 +572,6 @@
}
break;
Home |
Main Index |
Thread Index |
Old Index