diff -r 8b883753394a -r 5165944a89b3 TCP/TCPListener.m --- a/TCP/TCPListener.m Sun Jul 13 10:42:50 2008 -0700 +++ b/TCP/TCPListener.m Tue May 05 14:46:42 2009 -0700 @@ -156,10 +156,13 @@ addr6.sin6_port = htons(_port); memcpy(&(addr6.sin6_addr), &in6addr_any, sizeof(addr6.sin6_addr)); - _ipv6socket = [self _openProtocol: PF_INET6 address: (struct sockaddr*)&addr6 error: outError]; + NSError *error; + _ipv6socket = [self _openProtocol: PF_INET6 address: (struct sockaddr*)&addr6 error: &error]; if( ! _ipv6socket ) { _ipv4socket = closeSocket(_ipv4socket); - return [self _failedToOpen: *outError]; + [self _failedToOpen: error]; + if (outError) *outError = error; + return NO; } }