SCCS-vsn: sys/netinet/tcp_usrreq.c 7.4
int req;
struct mbuf *m, *nam, *rights;
{
int req;
struct mbuf *m, *nam, *rights;
{
- register struct inpcb *inp = sotoinpcb(so);
+ register struct inpcb *inp;
register struct tcpcb *tp;
register struct tcpcb *tp;
int error = 0;
int ostate;
int error = 0;
int ostate;
- if (req == PRU_CONTROL) {
- error = in_control(so, (int)m, (caddr_t)nam,
- (struct ifnet *)rights);
- (void) splx(s);
- return(error);
- }
- if (rights && rights->m_len) {
- splx(s);
+ if (req == PRU_CONTROL)
+ return (in_control(so, (int)m, (caddr_t)nam,
+ (struct ifnet *)rights));
+ if (rights && rights->m_len)
+
+ s = splnet();
+ inp = sotoinpcb(so);
/*
* When a TCP is attached to a socket, then there will be
* a (struct inpcb) pointed at by the socket, and this
/*
* When a TCP is attached to a socket, then there will be
* a (struct inpcb) pointed at by the socket, and this
*/
case PRU_SEND:
sbappend(&so->so_snd, m);
*/
case PRU_SEND:
sbappend(&so->so_snd, m);
-#ifdef notdef
- if (tp->t_flags & TF_PUSH)
- tp->snd_end = tp->snd_una + so->so_snd.sb_cc;
-#endif
error = tcp_output(tp);
if (error) { /* XXX fix to use other path */
if (error == ENOBUFS) /* XXX */
error = tcp_output(tp);
if (error) { /* XXX fix to use other path */
if (error == ENOBUFS) /* XXX */