On Sun, Nov 9, 2008 at 3:52 PM, Adam Megacz <[EMAIL PROTECTED]> wrote: > > I noticed that the following useful piece of code at > src/rx/rx_packet.c:2431 (CVS HEAD). I could be mistaken, but it > appears that the body of the if-block is unreachable on > non-AFS_NT40_ENV platforms:
Misleading. The kernels of Linux and MacOS *are* non-AFS_NT40_ENV platforms. > /* Some systems are nice and tell us right away that we cannot > * reach this recipient by returning an error code. > * So, when this happens let's "down" the host NOW so > * we don't sit around waiting for this host to timeout later. > */ > if (call && > #ifdef AFS_NT40_ENV > code == -1 && WSAGetLastError() == WSAEHOSTUNREACH > #elif defined(AFS_LINUX20_ENV) && defined(KERNEL) > code == -ENETUNREACH > #elif defined(AFS_DARWIN_ENV) && defined(KERNEL) > code == EHOSTUNREACH > #else > 0 > #endif > ) > > The variable "code" is the return value from osi_NetSend() on line > 2421, a function which simply relays the return value of > rxi_Sendmsg(). Both the lwp and pthread implementations of > rxi_Sendmsg() appear to return only 0 or -1, never an error code. And the kernel implementation, which is neither lwp or pthread, returns the result (on Linux) of sock_sendmsg... It's very much the intended situation. The code paths tested are implemented. If you can implement and test more, we'd review them for inclusion. Derrick _______________________________________________ OpenAFS-devel mailing list [email protected] https://lists.openafs.org/mailman/listinfo/openafs-devel
