MSG_MORE socket.h flag

Brian Inglis Brian.Inglis@Shaw.ca
Mon Apr 3 16:05:06 GMT 2023


On 2023-04-03 04:56, Corinna Vinschen via Cygwin wrote:
> On Apr  2 00:19, Chance via Cygwin wrote:
>> I've used cygwin in the past few years using the MSG_MORE flag when using
>> some socket functions
> 
> I have no idea how you did that.  MSG_MORE was never actually supported
> by Cygwin, and the (more or less) equivalent MSG_PARTIAL flag was never
> exposed into Cygwin user space.
> 
>> but now it's not defined in cygwin\socket.h and
> 
> It never was!  I checked the history back until the year 2000.
> 
>> MSG_EOR is using the value of MSG_MORE (0x8000). Above that in the socket.h
>> file there is a comment /* MSG_EOR is not supported.  We use the
>> MSG_PARTIAL flag here */. I understand this as meaning MSG_EOR now works as
>> MSG_MORE would and that MSG_EOR is not usable. Just want some clarification
>> on this.
> 
> It just means we're using the bit value of MSG_PARTIAL to expose
> a MSG_EOR flag into user space.  It was introduced in 2019 because
> of POSIX header file compatibility, but it's unsupported and always
> results in sedn/recv returning EOPNOTSUPP.
> 
> I'm still puzzled where you got the MSG_MORE definition from, though.

Not on BSD likely Linux:

https://github.com/torvalds/linux/blob/master/include/linux/socket.h#L298

check for symlinks on poster's system?

-- 
Take care. Thanks, Brian Inglis              Calgary, Alberta, Canada

La perfection est atteinte                   Perfection is achieved
non pas lorsqu'il n'y a plus rien à ajouter  not when there is no more to add
mais lorsqu'il n'y a plus rien à retirer     but when there is no more to cut
                                 -- Antoine de Saint-Exupéry


More information about the Cygwin mailing list