| version 1.37, 1998/08/02 04:53:12 |
version 1.38, 1998/08/04 04:03:17 |
| Line 91 socreate(dom, aso, type, proto) |
|
| Line 91 socreate(dom, aso, type, proto) |
|
| if (prp->pr_type != type) |
if (prp->pr_type != type) |
| return (EPROTOTYPE); |
return (EPROTOTYPE); |
| so = pool_get(&socket_pool, PR_WAITOK); |
so = pool_get(&socket_pool, PR_WAITOK); |
| bzero((caddr_t)so, sizeof(*so)); |
memset((caddr_t)so, 0, sizeof(*so)); |
| TAILQ_INIT(&so->so_q0); |
TAILQ_INIT(&so->so_q0); |
| TAILQ_INIT(&so->so_q); |
TAILQ_INIT(&so->so_q); |
| so->so_type = type; |
so->so_type = type; |
|
|
| socantrcvmore(so); |
socantrcvmore(so); |
| sbunlock(sb); |
sbunlock(sb); |
| asb = *sb; |
asb = *sb; |
| bzero((caddr_t)sb, sizeof(*sb)); |
memset((caddr_t)sb, 0, sizeof(*sb)); |
| splx(s); |
splx(s); |
| if (pr->pr_flags & PR_RIGHTS && pr->pr_domain->dom_dispose) |
if (pr->pr_flags & PR_RIGHTS && pr->pr_domain->dom_dispose) |
| (*pr->pr_domain->dom_dispose)(asb.sb_mb); |
(*pr->pr_domain->dom_dispose)(asb.sb_mb); |