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

*** 24,37 **** /* All Rights Reserved */ /* * Copyright 2006 Sun Microsystems, Inc. All rights reserved. * Use is subject to license terms. */ - #pragma ident "%Z%%M% %I% %E% SMI" - #include "mt.h" #include <errno.h> #include <unistd.h> #include <sys/stream.h> #include <stropts.h> --- 24,36 ---- /* All Rights Reserved */ /* * Copyright 2006 Sun Microsystems, Inc. All rights reserved. * Use is subject to license terms. + * Copyright 2014 Gary Mills */ #include "mt.h" #include <errno.h> #include <unistd.h> #include <sys/stream.h> #include <stropts.h>
*** 131,167 **** do { retval = ioctl(fd, I_PEEK, &strpeek); } while (retval < 0 && errno == EINTR); if (retval < 0) { - if (_T_IS_TLI(api_semantics)) { /* ! * This return of T_ERROR event is ancient ! * SVR3 TLI semantics and not documented for ! * current SVR4 TLI interface. ! * Fixing this will impact some apps ! * (e.g. nfsd,lockd) in ON consolidation ! * so they need to be fixed first before TLI ! * can be fixed. ! * XXX Should we never fix this because it might ! * break apps in field ? */ - return (T_ERROR); - } - /* - * XTI semantics (also identical to documented, - * but not implemented TLI semantics). - */ t_errno = TSYSERR; return (-1); } /* * if something there and cntl part also there */ if ((tiptr->ti_lookcnt > 0) || ! ((retval > 0) && (strpeek.ctlbuf.len >= (int)sizeof (t_scalar_t)))) { /* LINTED pointer cast */ pptr = (union T_primitives *)strpeek.ctlbuf.buf; if (tiptr->ti_lookcnt > 0) { /* LINTED pointer cast */ type = *((t_scalar_t *)tiptr->ti_lookbufs.tl_lookcbuf); --- 130,153 ---- do { retval = ioctl(fd, I_PEEK, &strpeek); } while (retval < 0 && errno == EINTR); if (retval < 0) { /* ! * XTI semantics (also identical to documented ! * TLI semantics). */ t_errno = TSYSERR; return (-1); } /* * if something there and cntl part also there */ if ((tiptr->ti_lookcnt > 0) || ! ((retval > 0) && (strpeek.ctlbuf.len >= ! (int)sizeof (t_scalar_t)))) { /* LINTED pointer cast */ pptr = (union T_primitives *)strpeek.ctlbuf.buf; if (tiptr->ti_lookcnt > 0) { /* LINTED pointer cast */ type = *((t_scalar_t *)tiptr->ti_lookbufs.tl_lookcbuf);