Skip site navigation (1)Skip section navigation (2)
Date:      Sat, 02 Dec 1995 21:36:30 -0500
From:      Robert Withrow <witr@rwwa.com>
To:        freebsd-hackers@FreeBSD.ORG
Subject:   Proper way to determine non-blocking status...
Message-ID:  <199512030236.VAA11976@spooky.rwwa.com>

next in thread | raw e-mail | index | archive | help
Even though it seems like it is almost never done by
existing driver code, would I be correct in assuming that
the *right* way to determine if a device read is allowed to
sleep or not is the following?

int xxread(dev_t dev, struct uio *uio, int ioflag)
{
  if (ioflag & IO_NDELAY) {
    /* Can't block here */
    return EWOULDBLOCK;
  } else {				/* Otherwise try again */
    /* Can sleep here */
    ...
  }
}

-----------------------------------------------------------------------------
Robert Withrow, Tel: +1 617 598 4480, Fax: +1 617 598 4430 Net: witr@rwwa.COM
     R.W. Withrow Associates, 319 Lynnway Suite 201, Lynn MA 01901 USA




Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?199512030236.VAA11976>