• R
    workaround broken msghdr struct on 64bit linux · 71687907
    Rich Felker 提交于
    POSIX clearly specifies the type of msg_iovlen and msg_controllen, and
    Linux ignores it and makes them both size_t instead. to work around
    this we add padding (instead of just using the wrong types like glibc
    does), but we also need to patch-up the struct before passing it to
    the kernel in case the caller did not zero-fill it.
    
    if i could trust the kernel to just ignore the upper 32 bits, this
    would not be necessary, but i don't think it will ignore them...
    71687907
socket.h 5.7 KB