| version 1.23, 1995/06/26 08:46:16 |
version 1.24, 1995/08/12 23:59:42 |
| Line 410 udp_output(inp, m, addr, control) |
|
| Line 410 udp_output(inp, m, addr, control) |
|
| /* |
/* |
| * Must block input while temporarily connected. |
* Must block input while temporarily connected. |
| */ |
*/ |
| s = splnet(); |
s = splsoftnet(); |
| error = in_pcbconnect(inp, addr); |
error = in_pcbconnect(inp, addr); |
| if (error) { |
if (error) { |
| splx(s); |
splx(s); |
| Line 508 udp_usrreq(so, req, m, addr, control) |
|
| Line 508 udp_usrreq(so, req, m, addr, control) |
|
| error = EINVAL; |
error = EINVAL; |
| break; |
break; |
| } |
} |
| s = splnet(); |
s = splsoftnet(); |
| error = in_pcballoc(so, &udbtable); |
error = in_pcballoc(so, &udbtable); |
| splx(s); |
splx(s); |
| if (error) |
if (error) |
| Line 524 udp_usrreq(so, req, m, addr, control) |
|
| Line 524 udp_usrreq(so, req, m, addr, control) |
|
| break; |
break; |
| |
|
| case PRU_BIND: |
case PRU_BIND: |
| s = splnet(); |
s = splsoftnet(); |
| error = in_pcbbind(inp, addr); |
error = in_pcbbind(inp, addr); |
| splx(s); |
splx(s); |
| break; |
break; |
| Line 538 udp_usrreq(so, req, m, addr, control) |
|
| Line 538 udp_usrreq(so, req, m, addr, control) |
|
| error = EISCONN; |
error = EISCONN; |
| break; |
break; |
| } |
} |
| s = splnet(); |
s = splsoftnet(); |
| error = in_pcbconnect(inp, addr); |
error = in_pcbconnect(inp, addr); |
| splx(s); |
splx(s); |
| if (error == 0) |
if (error == 0) |
| Line 558 udp_usrreq(so, req, m, addr, control) |
|
| Line 558 udp_usrreq(so, req, m, addr, control) |
|
| error = ENOTCONN; |
error = ENOTCONN; |
| break; |
break; |
| } |
} |
| s = splnet(); |
s = splsoftnet(); |
| in_pcbdisconnect(inp); |
in_pcbdisconnect(inp); |
| inp->inp_laddr.s_addr = INADDR_ANY; |
inp->inp_laddr.s_addr = INADDR_ANY; |
| splx(s); |
splx(s); |
|
|
| udp_detach(inp) |
udp_detach(inp) |
| struct inpcb *inp; |
struct inpcb *inp; |
| { |
{ |
| int s = splnet(); |
int s = splsoftnet(); |
| |
|
| if (inp == udp_last_inpcb) |
if (inp == udp_last_inpcb) |
| udp_last_inpcb = 0; |
udp_last_inpcb = 0; |