version 1.144, 2018/06/26 06:48:02 |
version 1.145, 2018/08/03 09:54:40 |
Line 1058 filt_tunread(struct knote *kn, long hint |
|
Line 1058 filt_tunread(struct knote *kn, long hint |
|
struct ifnet *ifp = &tp->tun_if; |
struct ifnet *ifp = &tp->tun_if; |
struct mbuf *m; |
struct mbuf *m; |
|
|
mutex_enter(&tp->tun_lock); |
KASSERT(mutex_owned(&tp->tun_lock)); |
|
|
IF_POLL(&ifp->if_snd, m); |
IF_POLL(&ifp->if_snd, m); |
if (m == NULL) { |
if (m == NULL) |
mutex_exit(&tp->tun_lock); |
|
return 0; |
return 0; |
} |
|
|
|
for (kn->kn_data = 0; m != NULL; m = m->m_next) |
for (kn->kn_data = 0; m != NULL; m = m->m_next) |
kn->kn_data += m->m_len; |
kn->kn_data += m->m_len; |
|
|
mutex_exit(&tp->tun_lock); |
|
|
|
return 1; |
return 1; |
} |
} |
|
|