ioctl: FIONREAD and ENOTTY

Yaakov (Cygwin/X) yselkowitz@users.sourceforge.net
Wed Jul 20 08:11:00 GMT 2011


On Linux, ioctl(2) returns several different errors[1]:

EBADF  d is not a valid descriptor.
EFAULT argp references an inaccessible memory area.
EINVAL Request or argp is not valid.
ENOTTY d is not associated with a character special device.
ENOTTY The specified request does not apply to the kind of object that
       the descriptor d references.

In the case of FIONREAD, Cygwin doesn't seem to distinguish between
EINVAL and ENOTTY, and this causes at least one major bug:

http://gcc.gnu.org/bugzilla/show_bug.cgi?id=35536

I have patched GCJ and GNU classpath to work around it, but this really
needs to be fixed in Cygwin itself.


Yaakov

[1] http://www.kernel.org/doc/man-pages/online/pages/man2/ioctl.2.html



--
Problem reports:       http://cygwin.com/problems.html
FAQ:                   http://cygwin.com/faq/
Documentation:         http://cygwin.com/docs.html
Unsubscribe info:      http://cygwin.com/ml/#unsubscribe-simple



More information about the Cygwin mailing list