diff options
author | Konstantin Belousov <kib@FreeBSD.org> | 2007-05-31 11:51:53 +0000 |
---|---|---|
committer | Konstantin Belousov <kib@FreeBSD.org> | 2007-05-31 11:51:53 +0000 |
commit | 9e223287c05be2947379d5b6fdf4c8f8882b38f5 (patch) | |
tree | d5e88e86417c996e0e901ce9a43de8d9ae3ad44e /sys/kern/kern_descrip.c | |
parent | 049c3b6cdf6ad1566ed35d869341a2c4b4c0b76e (diff) |
Notes
Diffstat (limited to 'sys/kern/kern_descrip.c')
-rw-r--r-- | sys/kern/kern_descrip.c | 10 |
1 files changed, 3 insertions, 7 deletions
diff --git a/sys/kern/kern_descrip.c b/sys/kern/kern_descrip.c index bc9cad8f41c8a..963b286393cbb 100644 --- a/sys/kern/kern_descrip.c +++ b/sys/kern/kern_descrip.c @@ -666,9 +666,7 @@ do_dup(struct thread *td, enum dup_type type, int old, int new, * bad file descriptor. Userland should do its own locking to * avoid this case. */ - if (fdp->fd_ofiles[old] != fp || - (fdp->fd_ofileflags[old] & UF_OPENING) != 0 || - (fdp->fd_ofileflags[new] & UF_OPENING) != 0) { + if (fdp->fd_ofiles[old] != fp) { /* we've allocated a descriptor which we won't use */ if (fdp->fd_ofiles[new] == NULL) fdunused(fdp, new); @@ -992,8 +990,7 @@ kern_close(td, fd) FILEDESC_XLOCK(fdp); if ((unsigned)fd >= fdp->fd_nfiles || - (fp = fdp->fd_ofiles[fd]) == NULL || - (fdp->fd_ofileflags[fd] & UF_OPENING) != 0) { + (fp = fdp->fd_ofiles[fd]) == NULL) { FILEDESC_XUNLOCK(fdp); return (EBADF); } @@ -1507,8 +1504,7 @@ fdcopy(struct filedesc *fdp) newfdp->fd_freefile = -1; for (i = 0; i <= fdp->fd_lastfile; ++i) { if (fdisused(fdp, i) && - fdp->fd_ofiles[i]->f_type != DTYPE_KQUEUE && - (fdp->fd_ofileflags[i] & UF_OPENING) == 0) { + fdp->fd_ofiles[i]->f_type != DTYPE_KQUEUE) { newfdp->fd_ofiles[i] = fdp->fd_ofiles[i]; newfdp->fd_ofileflags[i] = fdp->fd_ofileflags[i]; fhold(newfdp->fd_ofiles[i]); |