| 3892 | } |
| 3893 | |
| 3894 | static int |
| 3895 | filt_soempty(struct knote *kn, long hint) |
| 3896 | { |
| 3897 | struct socket *so; |
| 3898 | |
| 3899 | so = kn->kn_fp->f_data; |
| 3900 | |
| 3901 | if (SOLISTENING(so)) |
| 3902 | return (1); |
| 3903 | |
| 3904 | SOCKBUF_LOCK_ASSERT(&so->so_snd); |
| 3905 | kn->kn_data = sbused(&so->so_snd); |
| 3906 | |
| 3907 | if (kn->kn_data == 0) |
| 3908 | return (1); |
| 3909 | else |
| 3910 | return (0); |
| 3911 | } |
| 3912 | |
| 3913 | int |
| 3914 | socheckuid(struct socket *so, uid_t uid) |