From e730167f16fa09b01554dc171fa99a9b09b8efe8 Mon Sep 17 00:00:00 2001 From: John Baldwin Date: Thu, 5 Jan 2006 22:20:31 +0000 Subject: [PATCH] Remove XXX comments complaining that write(2) on a read-only descriptor returns EBADF. That errno is correct and is mandated by POSIX. It also goes back to revision 1.1 of our CVS history (i.e. 4.4BSD). The _fget() function should probably also be upated as it currently returns EINVAL in that case rather than EBADF. (It does return EBADF for reads on a write-only descriptor without any XXX comments oddly enough.) Discussed with: scottl, grog, mjacob, bde --- sys/kern/sys_generic.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/sys/kern/sys_generic.c b/sys/kern/sys_generic.c index 3c7199a28cd..43d2758899b 100644 --- a/sys/kern/sys_generic.c +++ b/sys/kern/sys_generic.c @@ -398,7 +398,7 @@ kern_writev(struct thread *td, int fd, struct uio *auio) error = fget_write(td, fd, &fp); if (error) - return (EBADF); /* XXX this can't be right */ + return (EBADF); error = dofilewrite(td, fd, fp, auio, (off_t)-1, 0); fdrop(fp, td); return (error); @@ -444,7 +444,7 @@ kern_pwritev(td, fd, auio, offset) error = fget_write(td, fd, &fp); if (error) - return (EBADF); /* XXX this can't be right */ + return (EBADF); if (!(fp->f_ops->fo_flags & DFLAG_SEEKABLE)) error = ESPIPE; else if (offset < 0 && fp->f_vnode->v_type != VCHR)