Print this page
3910 t_look(3NSL) should never return T_ERROR

@@ -18,10 +18,11 @@
  *
  * CDDL HEADER END
  */
 
 /*
+ * Copyright 2014 Gary Mills
  * Copyright 2009 Sun Microsystems, Inc.  All rights reserved.
  * Use is subject to license terms.
  */
 /* Copyright (c) 1983, 1984, 1985, 1986, 1987, 1988, 1989 AT&T */
 /* All Rights Reserved */

@@ -382,21 +383,21 @@
 #endif
                 if (t_errno == TLOOK) {
                         int lookres;
 
                         lookres = t_look(xprt->xp_fd);
-                        if ((lookres & T_UDERR) &&
+                        if ((lookres == T_UDERR) &&
                             (t_rcvuderr(xprt->xp_fd,
                                     (struct t_uderr *)0) < 0)) {
                                 /*EMPTY*/
 #ifdef RPC_DEBUG
                                 syslog(LOG_ERR,
                                 "svc_dg_recv: t_rcvuderr t_errno = %d\n",
                                         t_errno);
 #endif
                         }
-                        if (lookres & T_DATA)
+                        if (lookres == T_DATA)
                                 goto again;
                 } else if ((errno == EINTR) && (t_errno == TSYSERR))
                         goto again;
                 else {
                         return (FALSE);