Differences From Artifact [7ee76905cc]:
- File src/OFDNSResolver.m — part of check-in [452616df69] at 2018-08-05 15:24:43 on branch trunk — OFDNSResolver: Let queries time out (user: js, size: 33832) [annotate] [blame] [check-ins using]
To Artifact [5d4867eed8]:
- File
src/OFDNSResolver.m
— part of check-in
[97ccd4a3e4]
at
2018-08-05 19:31:46
on branch trunk
— OFDNSResolver: Do not close the sockets
Instead, just release them. The reason for this is that -[close]
immediately closes the file descriptor, meaning the next run loop
iteration fails to remove them, as the file descriptor is no longer
valid. (user: js, size: 33788) [annotate] [blame] [check-ins using]
︙ | ︙ | |||
1249 1250 1251 1252 1253 1254 1255 | - (void)close { void *pool = objc_autoreleasePoolPush(); OFEnumerator *enumerator; OFDNSResolver_context *DNSResolverContext; [_IPv4Socket cancelAsyncRequests]; | < < | 1249 1250 1251 1252 1253 1254 1255 1256 1257 1258 1259 1260 1261 1262 1263 1264 1265 1266 1267 | - (void)close { void *pool = objc_autoreleasePoolPush(); OFEnumerator *enumerator; OFDNSResolver_context *DNSResolverContext; [_IPv4Socket cancelAsyncRequests]; [_IPv4Socket release]; _IPv4Socket = nil; #ifdef OF_HAVE_IPV6 [_IPv6Socket cancelAsyncRequests]; [_IPv6Socket release]; _IPv6Socket = nil; #endif enumerator = [_queries objectEnumerator]; while ((DNSResolverContext = [enumerator nextObject]) != nil) { id target = [[[DNSResolverContext target] retain] autorelease]; |
︙ | ︙ |