version 1.226.2.2, 2017/01/07 08:56:51 |
version 1.226.2.3, 2017/03/20 06:57:51 |
Line 848 udp_output(struct mbuf *m, struct inpcb |
|
Line 848 udp_output(struct mbuf *m, struct inpcb |
|
|
|
return (ip_output(m, inp->inp_options, ro, |
return (ip_output(m, inp->inp_options, ro, |
inp->inp_socket->so_options & (SO_DONTROUTE | SO_BROADCAST), |
inp->inp_socket->so_options & (SO_DONTROUTE | SO_BROADCAST), |
inp->inp_moptions, inp->inp_socket)); |
inp->inp_moptions, inp)); |
|
|
release: |
release: |
m_freem(m); |
m_freem(m); |
Line 1140 udp_purgeif(struct socket *so, struct if |
|
Line 1140 udp_purgeif(struct socket *so, struct if |
|
int s; |
int s; |
|
|
s = splsoftnet(); |
s = splsoftnet(); |
#ifndef NET_MPSAFE |
|
mutex_enter(softnet_lock); |
mutex_enter(softnet_lock); |
#endif |
|
in_pcbpurgeif0(&udbtable, ifp); |
in_pcbpurgeif0(&udbtable, ifp); |
|
#ifdef NET_MPSAFE |
|
mutex_exit(softnet_lock); |
|
#endif |
in_purgeif(ifp); |
in_purgeif(ifp); |
|
#ifdef NET_MPSAFE |
|
mutex_enter(softnet_lock); |
|
#endif |
in_pcbpurgeif(&udbtable, ifp); |
in_pcbpurgeif(&udbtable, ifp); |
#ifndef NET_MPSAFE |
|
mutex_exit(softnet_lock); |
mutex_exit(softnet_lock); |
#endif |
|
splx(s); |
splx(s); |
|
|
return 0; |
return 0; |