Bug 24900

Summary: Server logs:indfcntl(8, F_SETFL, 4): Inappropriate ioctl for device on bind-9.1.0
Product: Base System Reporter: operador <operador>
Component: kernAssignee: freebsd-bugs (Nobody) <bugs>
Status: Closed FIXED    
Severity: Affects Only Me    
Priority: Normal    
Version: 3.5-STABLE   
Hardware: Any   
OS: Any   

Description operador 2001-02-06 14:50:01 UTC
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.

How-To-Repeat: Include the bug fix in 3-STABLE series.
Comment 1 Bruce Evans 2001-02-06 16:18:56 UTC
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
Comment 2 iedowse freebsd_committer freebsd_triage 2002-08-12 21:19:40 UTC
State Changed
From-To: open->closed


Sorry, RELENG_3 is no longer supported, and nobody has shown an 
interest in this PR in over a year.