From owner-freebsd-current Sat Jul 29 0:47:22 2000 Delivered-To: freebsd-current@freebsd.org Received: from grimreaper.grondar.za (grimreaper.grondar.za [196.7.18.138]) by hub.freebsd.org (Postfix) with ESMTP id 3D08737B545; Sat, 29 Jul 2000 00:47:15 -0700 (PDT) (envelope-from mark@grondar.za) Received: from grimreaper.grondar.za (localhost [127.0.0.1]) by grimreaper.grondar.za (8.9.3/8.9.3) with ESMTP id JAA03041; Sat, 29 Jul 2000 09:47:14 +0200 (SAST) (envelope-from mark@grimreaper.grondar.za) Message-Id: <200007290747.JAA03041@grimreaper.grondar.za> To: Hiroyuki Hanai Cc: current@FreeBSD.org, markm@FreeBSD.org Subject: Re: fcntl and /dev/random References: <8266pp602g.wl@darkmatter.imgsrc.co.jp> In-Reply-To: <8266pp602g.wl@darkmatter.imgsrc.co.jp> ; from Hiroyuki Hanai "Sat, 29 Jul 2000 13:18:47 +0900." Date: Sat, 29 Jul 2000 09:47:14 +0200 From: Mark Murray Sender: owner-freebsd-current@FreeBSD.ORG Precedence: bulk X-Loop: FreeBSD.ORG Hi I'm looking at this; I'll have something by the end of the weekend for 5-CURRENT; 4-STABLE will take a bit longer. I don't think I'll dop anything for 3-* as it is at its end-of-life. Domo Arrigato! M > > Setting status flags using F_SETFL command of fcntl(2) on the file > descriptor, which is returned by open(2)ing /dev/random, seems not to > be supported. For example, when I run following code; > > #include > #include > #include > main() > { > int fd; > fd = open("/dev/random", O_RDONLY); > if (fcntl(fd, F_SETFL, O_NONBLOCK) == -1) { > printf("%s\n", strerror(errno)); > } > } > > 3.4-RELEASE(and possibly 3.5 and 3.5.1) and 4.1-RELEASE/4.1-STABLE say > `Inappropriate ioctl for device' and 5-current says `Operation not > supported by device'. > > I've found above in BIND9's source and its `named' program complains > everytime it's invoked. > > Should I fix BIND9's code? or wait for fcntl's F_SETFL being > supported on FreeBSD? > > Actually, in BIND9, fd is already open(2)ed with `O_RDONLY | O_NONBLOCK' > and setting O_NONBLOCK status with fcntl(2) is not needed, which means > that fixing BIND9's code is very simple; just comment out the fcntl(2)ing lin e. > > h.hanai > -- Mark Murray Join the anti-SPAM movement: http://www.cauce.org To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe freebsd-current" in the body of the message