| version 1.174, 2008/10/11 13:40:57 |
version 1.175, 2008/10/11 16:39:07 |
| Line 615 sofree(struct socket *so) |
|
| Line 615 sofree(struct socket *so) |
|
| KASSERT(!cv_has_waiters(&so->so_snd.sb_cv)); |
KASSERT(!cv_has_waiters(&so->so_snd.sb_cv)); |
| sorflush(so); |
sorflush(so); |
| refs = so->so_aborting; /* XXX */ |
refs = so->so_aborting; /* XXX */ |
| #ifdef INET |
|
| /* remove acccept filter if one is present. */ |
/* remove acccept filter if one is present. */ |
| if (so->so_accf != NULL) |
if (so->so_accf != NULL) |
| do_setopt_accept_filter(so, NULL); |
do_setopt_accept_filter(so, NULL); |
| #endif |
|
| sounlock(so); |
sounlock(so); |
| if (refs == 0) /* XXX */ |
if (refs == 0) /* XXX */ |
| soput(so); |
soput(so); |
| Line 1580 sosetopt1(struct socket *so, const struc |
|
| Line 1578 sosetopt1(struct socket *so, const struc |
|
| |
|
| switch (sopt->sopt_name) { |
switch (sopt->sopt_name) { |
| |
|
| #ifdef INET |
|
| case SO_ACCEPTFILTER: |
case SO_ACCEPTFILTER: |
| error = do_setopt_accept_filter(so, sopt); |
error = do_setopt_accept_filter(so, sopt); |
| if (error) |
if (error) |
| return error; |
return error; |
| break; |
break; |
| #endif |
|
| |
|
| case SO_LINGER: |
case SO_LINGER: |
| error = sockopt_get(sopt, &l, sizeof(l)); |
error = sockopt_get(sopt, &l, sizeof(l)); |
| Line 1760 sogetopt1(struct socket *so, struct sock |
|
| Line 1756 sogetopt1(struct socket *so, struct sock |
|
| |
|
| switch (sopt->sopt_name) { |
switch (sopt->sopt_name) { |
| |
|
| #ifdef INET |
|
| case SO_ACCEPTFILTER: |
case SO_ACCEPTFILTER: |
| error = do_getopt_accept_filter(so, sopt); |
error = do_getopt_accept_filter(so, sopt); |
| break; |
break; |
| #endif |
|
| |
|
| case SO_LINGER: |
case SO_LINGER: |
| l.l_onoff = (so->so_options & SO_LINGER) ? 1 : 0; |
l.l_onoff = (so->so_options & SO_LINGER) ? 1 : 0; |