The following reply was made to PR kern/188952; it has been noted by GNATS.
From: Bruce Evans <[email protected]> To: Justin Cormack <[email protected]> Cc: [email protected], [email protected] Subject: Re: kern/188952: read after revoke giving error not eof Date: Fri, 25 Apr 2014 02:46:26 +1000 (EST) On Thu, 24 Apr 2014, Justin Cormack wrote: >> Description: > I have this ktrace of revoking a pty device: > ... > 43214 luajit-2.0.2 CALL revoke(0xfebc8) > 43214 luajit-2.0.2 NAMI "/dev/pts/1" > 43214 luajit-2.0.2 RET revoke 0 > 43214 luajit-2.0.2 CALL read(0x4,0xa4170,0x1000) > 43214 luajit-2.0.2 RET read -1 errno 6 Device not configured > > As you can see the revoke succeeds but the read is an error. The man page > says: > > The revoke() system call invalidates all current open file descriptors in > the system for the file named by path. Subsequent operations on any such > descriptors fail, with the exceptions that a read() from a character > device file which has been revoked returns a count of zero (end of file), > ... > > So the read should be giving a count of zero not an error according to the > docs (this happens eg in NetBSD), although maybe the sentence after is > trying to tell me something else. deadfs and devfs still try to return EOF for dead ttys, though devfs still has a comment saying that this is redundant for it (it is obviously not redundant for devfs, since devfs is the only place that sets the flag VV_ISTTY used by deadfs). Bruce _______________________________________________ [email protected] mailing list http://lists.freebsd.org/mailman/listinfo/freebsd-bugs To unsubscribe, send any mail to "[email protected]"
