socket : MSG_WAITALL isn't defined

Corinna Vinschen
Wed Nov 28 10:43:00 GMT 2007

On Nov 28 08:31, patrick ficheux wrote:
> Hi,
> I want to use recv() with MSG_WAITALL flag. But this constant isn't defined 
> in cygwin.
> I find a old message about this issue here => 
> Why MSG_WAITALL is not present in cygwin ?
> It's a posix compliance problem ?

No, it's a Winsock compliance problem.  Actually the MSG_WAITALL flag
showed up for the first time in Windows 2003 Server.  So, if you rely on
this flag, your application might break when running on any earlier
Windows version up to and including Windows XP.

There are also no considerations in Cygwin's recv implementation to
emulate the MSG_WAITALL behaviour.  I put that on my TODO list for a
later Cygwin version, though.  For now you're better off with a recv
loop in your application which ensures that the right number of bytes
are read.


Corinna Vinschen                  Please, send mails regarding Cygwin to
Cygwin Project Co-Leader          cygwin AT cygwin DOT com
Red Hat

Unsubscribe info:
Problem reports:

More information about the Cygwin mailing list