aboutsummaryrefslogtreecommitdiff
path: root/sys/net/raw_cb.c
diff options
context:
space:
mode:
authorRobert Watson <rwatson@FreeBSD.org>2006-06-02 08:27:15 +0000
committerRobert Watson <rwatson@FreeBSD.org>2006-06-02 08:27:15 +0000
commit4421f50dbcd2f36b743aa399d2b97522e01adfa2 (patch)
tree07550a67293ceee812613e98f1155cd3d4313b45 /sys/net/raw_cb.c
parentad3a630f7e5d16965f2c8eaa450d7dde278fa479 (diff)
downloadsrc-4421f50dbcd2f36b743aa399d2b97522e01adfa2.tar.gz
src-4421f50dbcd2f36b743aa399d2b97522e01adfa2.zip
raw_disconnect() now disconnects but does not detach the raw pcb. As a
result, raw_uabort() now needs to call raw_detach() directly. As raw_uabort() is never called, and raw_disconnect() is probably not ever actually called in practice, this is likely not a functional change, but improves congruence between protocols, and avoids a NULL raw cb pointer after disconnect, which could result in a panic. MFC after: 1 month
Notes
Notes: svn path=/head/; revision=159164
Diffstat (limited to 'sys/net/raw_cb.c')
-rw-r--r--sys/net/raw_cb.c4
1 files changed, 1 insertions, 3 deletions
diff --git a/sys/net/raw_cb.c b/sys/net/raw_cb.c
index f45be72cb766..705db619f7bd 100644
--- a/sys/net/raw_cb.c
+++ b/sys/net/raw_cb.c
@@ -113,7 +113,7 @@ raw_detach(rp)
}
/*
- * Disconnect and possibly release resources.
+ * Disconnect raw socket.
*/
void
raw_disconnect(rp)
@@ -125,8 +125,6 @@ raw_disconnect(rp)
m_freem(dtom(rp->rcb_faddr));
rp->rcb_faddr = 0;
#endif
- if (rp->rcb_socket->so_state & SS_NOFDREF)
- raw_detach(rp);
}
#ifdef notdef