CVSROOT:        /cvs
Module name:    src
Changes by:     v...@cvs.openbsd.org    2018/06/25 10:06:27

Modified files:
        sys/kern       : vfs_syscalls.c 
        lib/libc/sys   : dup.2 

Log message:
During open(2), release the fdp lock before calling vn_open(9).
This lets other threads of the process modify the file descriptor
table even if the vn_open(9) call blocks.

The change has an effect on dup2(2) and dup3(2). If the new descriptor
is the same as the one reserved by an unfinished open(2), the system
call will fail with error EBUSY. The accept(2) system call already
behaves like this.

Issue pointed out by art@ via mpi@

Tested in a bulk build by ajacoutot@
OK mpi@

Reply via email to