mirror of https://github.com/aria2/aria2
Ignore error when setting DSCP value
Setting DSCP is additional feature and failure to enable it should not abort download entirely. This change fixes the bug that windows build does not perform bittorrent downloads.pull/220/merge
parent
551adc5133
commit
f0473dc34d
|
@ -535,15 +535,23 @@ void SocketCore::setTcpNodelay(bool f)
|
|||
|
||||
void SocketCore::applyIpDscp()
|
||||
{
|
||||
int family = getAddressFamily();
|
||||
if(family == AF_INET) {
|
||||
setSockOpt(IPPROTO_IP, IP_TOS, &ipDscp_, sizeof(ipDscp_));
|
||||
if(ipDscp_ == 0) {
|
||||
return;
|
||||
}
|
||||
|
||||
try {
|
||||
int family = getAddressFamily();
|
||||
if(family == AF_INET) {
|
||||
setSockOpt(IPPROTO_IP, IP_TOS, &ipDscp_, sizeof(ipDscp_));
|
||||
}
|
||||
#if defined(__linux__) || defined(__FreeBSD__) || defined(__NetBSD__) || defined(__OpenBSD__) || defined(__DragonFly__)
|
||||
else if(family == AF_INET6) {
|
||||
setSockOpt(IPPROTO_IPV6, IPV6_TCLASS, &ipDscp_, sizeof(ipDscp_));
|
||||
}
|
||||
else if(family == AF_INET6) {
|
||||
setSockOpt(IPPROTO_IPV6, IPV6_TCLASS, &ipDscp_, sizeof(ipDscp_));
|
||||
}
|
||||
#endif
|
||||
} catch(RecoverableException& e) {
|
||||
A2_LOG_INFO_EX("Applying DSCP value failed", e);
|
||||
}
|
||||
}
|
||||
|
||||
void SocketCore::setNonBlockingMode()
|
||||
|
|
Loading…
Reference in New Issue