version 1.147, 2007/11/24 07:49:03 |
version 1.147.2.2, 2007/12/26 21:39:47 |
|
|
soinit(void) |
soinit(void) |
{ |
{ |
|
|
mutex_init(&so_pendfree_lock, MUTEX_DRIVER, IPL_VM); |
mutex_init(&so_pendfree_lock, MUTEX_DEFAULT, IPL_VM); |
cv_init(&socurkva_cv, "sokva"); |
cv_init(&socurkva_cv, "sokva"); |
|
|
/* Set the initial adjusted socket buffer size. */ |
/* Set the initial adjusted socket buffer size. */ |
Line 580 sobind(struct socket *so, struct mbuf *n |
|
Line 580 sobind(struct socket *so, struct mbuf *n |
|
} |
} |
|
|
int |
int |
solisten(struct socket *so, int backlog) |
solisten(struct socket *so, int backlog, struct lwp *l) |
{ |
{ |
int s, error; |
int s, error; |
|
|
s = splsoftnet(); |
s = splsoftnet(); |
error = (*so->so_proto->pr_usrreq)(so, PRU_LISTEN, NULL, |
error = (*so->so_proto->pr_usrreq)(so, PRU_LISTEN, NULL, |
NULL, NULL, NULL); |
NULL, NULL, l); |
if (error != 0) { |
if (error != 0) { |
splx(s); |
splx(s); |
return error; |
return error; |
Line 1795 soo_kqfilter(struct file *fp, struct kno |
|
Line 1795 soo_kqfilter(struct file *fp, struct kno |
|
sb = &so->so_snd; |
sb = &so->so_snd; |
break; |
break; |
default: |
default: |
return (1); |
return (EINVAL); |
} |
} |
SLIST_INSERT_HEAD(&sb->sb_sel.sel_klist, kn, kn_selnext); |
SLIST_INSERT_HEAD(&sb->sb_sel.sel_klist, kn, kn_selnext); |
sb->sb_flags |= SB_KNOTE; |
sb->sb_flags |= SB_KNOTE; |