diff options
| author | Robert Watson <rwatson@FreeBSD.org> | 2006-04-22 19:10:02 +0000 |
|---|---|---|
| committer | Robert Watson <rwatson@FreeBSD.org> | 2006-04-22 19:10:02 +0000 |
| commit | 6466b28a40fa5413e945eb2f5db0b8a7da8e3d14 (patch) | |
| tree | fd7b7f28d6c54d3616a64c3c4ed4605cff8fd6b9 | |
| parent | 4b1ead982eda4d5cab5a484b23f41d3721da976c (diff) | |
Notes
| -rw-r--r-- | sys/netinet/in_pcb.c | 10 |
1 files changed, 4 insertions, 6 deletions
diff --git a/sys/netinet/in_pcb.c b/sys/netinet/in_pcb.c index 20c56ed8b1ee..26602cc3cee5 100644 --- a/sys/netinet/in_pcb.c +++ b/sys/netinet/in_pcb.c @@ -759,14 +759,13 @@ in_setsockaddr(struct socket *so, struct sockaddr **nam, struct in_addr addr; in_port_t port; - INP_INFO_RLOCK(pcbinfo); inp = sotoinpcb(so); - KASSERT(inp != NULL, ("in_setsockaddr: so_pcb == NULL")); + KASSERT(inp != NULL, ("in_setsockaddr: inp == NULL")); + INP_LOCK(inp); port = inp->inp_lport; addr = inp->inp_laddr; INP_UNLOCK(inp); - INP_INFO_RUNLOCK(pcbinfo); *nam = in_sockaddr(port, &addr); return 0; @@ -783,14 +782,13 @@ in_setpeeraddr(struct socket *so, struct sockaddr **nam, struct in_addr addr; in_port_t port; - INP_INFO_RLOCK(pcbinfo); inp = sotoinpcb(so); - KASSERT(inp != NULL, ("in_setpeeraddr: so_pcb == NULL")); + KASSERT(inp != NULL, ("in_setpeeraddr: inp == NULL")); + INP_LOCK(inp); port = inp->inp_fport; addr = inp->inp_faddr; INP_UNLOCK(inp); - INP_INFO_RUNLOCK(pcbinfo); *nam = in_sockaddr(port, &addr); return 0; |
