add uv udp try send

Please review the commits and give me comments on them.
2014-07-02 14:25 GMT+02:00 Andrius Bentkus <notifications@github.com>:

> > +  do {
> > +    size = sendmsg(handle->io_watcher.fd, &h, 0);
> > +  } while (size == -1 && errno == EINTR);
> > +
> > +  if (size == -1) {
> > +    if (errno == EAGAIN || errno == EWOULDBLOCK)
> > +      return 0;
> > +    else
> > +      return -errno;
>
> This has to return -EAGAIN.
>

Why should it return -EAGAIN? If sendmsg() fails due to EMSGSIZE it must
return -EMSGSIZE (which becomes UV_MSGSIZE). Do I miss something?