Date: Tue, 6 Feb 2001 08:20:08 -0800 (PST) From: Bruce Evans <bde@zeta.org.au> To: freebsd-bugs@FreeBSD.org Subject: Re: kern/24900: Server logs:indfcntl(8, F_SETFL, 4): Inappropriate ioctl for device on bind-9.1.0 Message-ID: <200102061620.f16GK8g48754@freefall.freebsd.org>
next in thread | raw e-mail | index | archive | help
The following reply was made to PR kern/24900; it has been noted by GNATS. From: Bruce Evans <bde@zeta.org.au> To: operador@nietzsche.webcaribe.net Cc: freebsd-gnats-submit@FreeBSD.ORG, markm@FreeBSD.ORG Subject: Re: kern/24900: Server logs:indfcntl(8, F_SETFL, 4): Inappropriate ioctl for device on bind-9.1.0 Date: Wed, 7 Feb 2001 03:18:56 +1100 (EST) On Tue, 6 Feb 2001 operador@nietzsche.webcaribe.net wrote: > >Description: > On FreeBSD systems,with bind-9.1.0 the server logs error messages > like "fcntl(8, F_SETFL, 4): Inappropriate ioctl for > device". This is due to a bug in the FreeBSD > /dev/random device. This may be due to a bug in bind-9.1.0. O_NONBLOCK isn't implemented in /dev/random in FreeBSD-3.5, so it is correct for attempts to set it to fail. This is a bug in FreeBSD-current. O_NONBLOCK is implemented in /dev/random in FreeBSD-current, but attempts to set it using fcntl() fail because random_ioctl() broken. Devices that support O_NONBLOCK must have an ioctl routine that returns success for FIONBIO. This is just to support broken drivers that store the blocking state in a per-device variable. Non-broken drivers use the blocking state passed to their i/o functions. So does /dev/random, but the bug makes the state set by open() unchangeable. Bruce To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe freebsd-bugs" in the body of the message
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?200102061620.f16GK8g48754>