[BACK]Return to uipc_socket.c CVS log [TXT][DIR] Up to [cvs.NetBSD.org] / src / sys / kern

Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files.

Diff for /src/sys/kern/uipc_socket.c between version 1.255 and 1.255.2.2

version 1.255, 2017/05/27 21:02:56 version 1.255.2.2, 2018/04/09 13:34:10
Line 1244  soreceive(struct socket *so, struct mbuf
Line 1244  soreceive(struct socket *so, struct mbuf
                         if (m != NULL)                          if (m != NULL)
                                 goto dontblock;                                  goto dontblock;
                         error = so->so_error;                          error = so->so_error;
                         if ((flags & MSG_PEEK) == 0)                          so->so_error = 0;
                                 so->so_error = 0;  
                         goto release;                          goto release;
                 }                  }
                 if (so->so_state & SS_CANTRCVMORE) {                  if (so->so_state & SS_CANTRCVMORE) {
Line 2109  sockopt_set(struct sockopt *sopt, const 
Line 2108  sockopt_set(struct sockopt *sopt, const 
                         return error;                          return error;
         }          }
   
         KASSERT(sopt->sopt_size == len);          if (sopt->sopt_size < len)
                   return EINVAL;
   
         memcpy(sopt->sopt_data, buf, len);          memcpy(sopt->sopt_data, buf, len);
           sopt->sopt_retsize = len;
   
         return 0;          return 0;
 }  }
   
Line 2169  sockopt_setmbuf(struct sockopt *sopt, st
Line 2172  sockopt_setmbuf(struct sockopt *sopt, st
                         return error;                          return error;
         }          }
   
         KASSERT(sopt->sopt_size == len);          if (sopt->sopt_size < len)
                   return EINVAL;
   
         m_copydata(m, 0, len, sopt->sopt_data);          m_copydata(m, 0, len, sopt->sopt_data);
         m_freem(m);          m_freem(m);
           sopt->sopt_retsize = len;
   
         return 0;          return 0;
 }  }
Line 2244  filt_soread(struct knote *kn, long hint)
Line 2250  filt_soread(struct knote *kn, long hint)
                 kn->kn_flags |= EV_EOF;                  kn->kn_flags |= EV_EOF;
                 kn->kn_fflags = so->so_error;                  kn->kn_fflags = so->so_error;
                 rv = 1;                  rv = 1;
         } else if (so->so_error)        /* temporary udp error */          } else if (so->so_error)
                 rv = 1;                  rv = 1;
         else if (kn->kn_sfflags & NOTE_LOWAT)          else if (kn->kn_sfflags & NOTE_LOWAT)
                 rv = (kn->kn_data >= kn->kn_sdata);                  rv = (kn->kn_data >= kn->kn_sdata);
Line 2283  filt_sowrite(struct knote *kn, long hint
Line 2289  filt_sowrite(struct knote *kn, long hint
                 kn->kn_flags |= EV_EOF;                  kn->kn_flags |= EV_EOF;
                 kn->kn_fflags = so->so_error;                  kn->kn_fflags = so->so_error;
                 rv = 1;                  rv = 1;
         } else if (so->so_error)        /* temporary udp error */          } else if (so->so_error)
                 rv = 1;                  rv = 1;
         else if (((so->so_state & SS_ISCONNECTED) == 0) &&          else if (((so->so_state & SS_ISCONNECTED) == 0) &&
             (so->so_proto->pr_flags & PR_CONNREQUIRED))              (so->so_proto->pr_flags & PR_CONNREQUIRED))

Legend:
Removed from v.1.255  
changed lines
  Added in v.1.255.2.2

CVSweb <webmaster@jp.NetBSD.org>