raw_cb.c (130336) | raw_cb.c (130387) |
---|---|
1/* 2 * Copyright (c) 1980, 1986, 1993 3 * The Regents of the University of California. All rights reserved. 4 * 5 * Redistribution and use in source and binary forms, with or without 6 * modification, are permitted provided that the following conditions 7 * are met: 8 * 1. Redistributions of source code must retain the above copyright --- 13 unchanged lines hidden (view full) --- 22 * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS 23 * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) 24 * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT 25 * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY 26 * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF 27 * SUCH DAMAGE. 28 * 29 * @(#)raw_cb.c 8.1 (Berkeley) 6/10/93 | 1/* 2 * Copyright (c) 1980, 1986, 1993 3 * The Regents of the University of California. All rights reserved. 4 * 5 * Redistribution and use in source and binary forms, with or without 6 * modification, are permitted provided that the following conditions 7 * are met: 8 * 1. Redistributions of source code must retain the above copyright --- 13 unchanged lines hidden (view full) --- 22 * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS 23 * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) 24 * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT 25 * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY 26 * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF 27 * SUCH DAMAGE. 28 * 29 * @(#)raw_cb.c 8.1 (Berkeley) 6/10/93 |
30 * $FreeBSD: head/sys/net/raw_cb.c 130336 2004-06-11 03:52:56Z rwatson $ | 30 * $FreeBSD: head/sys/net/raw_cb.c 130387 2004-06-12 20:47:32Z rwatson $ |
31 */ 32 33#include <sys/param.h> 34#include <sys/domain.h> | 31 */ 32 33#include <sys/param.h> 34#include <sys/domain.h> |
35#include <sys/lock.h> |
|
35#include <sys/malloc.h> | 36#include <sys/malloc.h> |
37#include <sys/mutex.h> |
|
36#include <sys/protosw.h> 37#include <sys/socket.h> 38#include <sys/socketvar.h> 39#include <sys/systm.h> 40 41#include <net/raw_cb.h> 42 43/* --- 44 unchanged lines hidden (view full) --- 88 * socket resources. 89 */ 90void 91raw_detach(rp) 92 register struct rawcb *rp; 93{ 94 struct socket *so = rp->rcb_socket; 95 | 38#include <sys/protosw.h> 39#include <sys/socket.h> 40#include <sys/socketvar.h> 41#include <sys/systm.h> 42 43#include <net/raw_cb.h> 44 45/* --- 44 unchanged lines hidden (view full) --- 90 * socket resources. 91 */ 92void 93raw_detach(rp) 94 register struct rawcb *rp; 95{ 96 struct socket *so = rp->rcb_socket; 97 |
98 SOCK_LOCK(so); |
|
96 so->so_pcb = 0; 97 sotryfree(so); 98 LIST_REMOVE(rp, list); 99#ifdef notdef 100 if (rp->rcb_laddr) 101 m_freem(dtom(rp->rcb_laddr)); 102 rp->rcb_laddr = 0; 103#endif --- 39 unchanged lines hidden --- | 99 so->so_pcb = 0; 100 sotryfree(so); 101 LIST_REMOVE(rp, list); 102#ifdef notdef 103 if (rp->rcb_laddr) 104 m_freem(dtom(rp->rcb_laddr)); 105 rp->rcb_laddr = 0; 106#endif --- 39 unchanged lines hidden --- |