recvmsg returns 'EAGAIN (Resource temporarily unavailable)'

After a recent server move, we are troubleshooting this wierd issue of one of the server losing n/w connectivity for no apparent reason and regaining the connectivity in a few seconds or minutes. There are no traces of it in /var/log/messages dmesg or mcelogs. While looking trying to debug this, I issued strace ping google.com and it says = -1 EAGAIN (Resource temporarily unavailable).

Could someone throw light to what this message could mean? ping resolves google.com, but it wouldn't show any response as if ping replies are set to reject in the firewall.

sendmsg(3, {msg_name(16)={sa_family=AF_INET, sin_port=htons(0), sin_addr=inet_addr("74.125.131.113")}, msg_iov(1)=[{"\10\0005\321?i\0\3v\301lT\0\0\0\0\335\331\3\0\0\0\0\0\20\21\22\23\24\25\26\27"..., 64}], msg_controllen=0, msg_flags=0}, 0) = 64
recvmsg(3, 0x7fffd48b9cc0, 0)           = -1 EAGAIN (Resource temporarily unavailable)


P.S: This is a VMware VM and runs RHEL 6.5

The error it returns in the second case is EAGAIN.
So the EAGAIN error isn't really telling you anything here. It just means that there was nothing for that recvmsg() to receive just then.
I was getting this error by trying to read from stdin while there was no stdin, e.g. isTTY was false.