Dexuan Cui <de...@microsoft.com> writes: >> -----Original Message----- >> From: Vitaly Kuznetsov >> >> -- >> >> Vitaly >> > >> > OK, I can add this new check: >> > (I'll send out the v2 tomorrow in case people have new comments) >> > >> >> Thanks! >> >> > --- a/tools/hv/hv_kvp_daemon.c >> > +++ b/tools/hv/hv_kvp_daemon.c >> > @@ -1770,8 +1770,15 @@ kvp_done: >> > >> > len = netlink_send(fd, incoming_cn_msg); >> > if (len < 0) { >> > + int saved_errno = errno; >> > syslog(LOG_ERR, "net_link send failed; error: %d >> > %s", errno, >> > strerror(errno)); >> > + >> > + if (saved_errno == ENOMEM || saved_errno == >> > EAGAIN) { >> >> Sorry for being pushy, but it seems ENOBUFS is also possible here (at >> least man sendmsg mentions it). > OK, I'll add this too. :-) > > BTW, I realized sendmsg() can't return EAGAIN here as that's for non-blocking > socket. > > Here I simply ignore the error, hoping the other end will re-try. >
I agree, it's sufficient to ignore ENOBUFS on recieve path and both ENOMEM/ENOBUFS on send. Thanks! >> >> > + syslog(LOG_ERR, "send error: ignored"); >> > + continue; >> > + } >> > + >> > exit(EXIT_FAILURE); >> > } >> > } >> > >> > Thanks, >> > -- Dexuan >> >> Vitaly > > -- Dexuan -- Vitaly -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/