unix, windows: return UV_EINVAL, not UV_EFAULT

A wrong multicast membership should return EINVAL.
This commit is contained in:
Andrius Bentkus 2013-01-22 14:13:26 +01:00 committed by Ben Noordhuis
parent 017e2d5fde
commit bdb498f8b1
2 changed files with 2 additions and 4 deletions

View File

@ -542,8 +542,7 @@ int uv_udp_set_membership(uv_udp_t* handle, const char* multicast_addr,
optname = IP_DROP_MEMBERSHIP;
break;
default:
uv__set_sys_error(handle->loop, EFAULT);
return -1;
return uv__set_artificial_error(handle->loop, UV_EINVAL);
}
if (setsockopt(handle->io_watcher.fd, IPPROTO_IP, optname, (void*) &mreq, sizeof mreq) == -1) {

View File

@ -615,8 +615,7 @@ int uv_udp_set_membership(uv_udp_t* handle, const char* multicast_addr,
optname = IP_DROP_MEMBERSHIP;
break;
default:
uv__set_artificial_error(handle->loop, UV_EFAULT);
return -1;
return uv__set_artificial_error(handle->loop, UV_EINVAL);
}
if (setsockopt(handle->socket,