Joan Lledó, le ven. 03 mai 2019 13:34:33 +0200, a ecrit: > Missatge de Samuel Thibault <samuel.thiba...@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