bug-hurd
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [PATCH 1/4] lwip: Fix bug: Remove unsupported flags when calling sen


From: Samuel Thibault
Subject: Re: [PATCH 1/4] lwip: Fix bug: Remove unsupported flags when calling send().
Date: Fri, 3 May 2019 14:09:52 +0200
User-agent: NeoMutt/20170113 (1.7.2)

Joan Lledó, le ven. 03 mai 2019 13:34:33 +0200, a ecrit:
> Missatge de Samuel Thibault <samuel.thibault@gnu.org> del dia dj., 2
> de maig 2019 a les 23:55:
> > Put another way: instead, we have to go through flags which we see
> > happen in the wild, and take appropriate measures (which may really be
> > to just let lwip_sendmsg return EINVAL, or do the check ourselves if
> > lwip_sendmsg does assertions instead of returning EINVAL).
> 
> What POSIX[1] says is that here we must return -1 and set errno to
> EOPNOTSUPP,

Right :)

> and that's what lwip does, so if this patch is not applied
> it works fine.

Ok, good!

> But there's a problem: you can't use lwip to resolve
> names. In my tests, it seems glibc always add the flag MSG_NOSIGNAL to
> the send() call when trying to resolve a name, which is an unsupported
> flag. This is a big loss of functionality, what should we do?

Actually I guess lwip doesn't generate SIGPIPE when writing to an
unconnected socket?  So clearing that precise flag will be fine.  We
however conversely lack the support for generating SIGPIPE, so a

/* XXX: missing !MSG_NOSIGNAL support, i.e. generate SIGPIPE */

comment would be useful to add.

Samuel



reply via email to

[Prev in Thread] Current Thread [Next in Thread]