From fc37f21a156939a16090d443be9db2078727ab3e Mon Sep 17 00:00:00 2001 From: rwatson Date: Wed, 24 Dec 2003 17:13:01 +0000 Subject: Document that when we are addressing an open()/close() race, the reason we call vn_close() manually rather than letting fdrop() take care of it is that we haven't yet hooked up the various 'struct file' fields. --- sys/kern/vfs_extattr.c | 2 ++ 1 file changed, 2 insertions(+) (limited to 'sys/kern/vfs_extattr.c') diff --git a/sys/kern/vfs_extattr.c b/sys/kern/vfs_extattr.c index a8900dc..d4fa3f1 100644 --- a/sys/kern/vfs_extattr.c +++ b/sys/kern/vfs_extattr.c @@ -1018,6 +1018,8 @@ kern_open(struct thread *td, char *path, enum uio_seg pathseg, int flags, * Handle the case where someone closed the file (via its file * descriptor) while we were blocked. The end result should look * like opening the file succeeded but it was immediately closed. + * We call vn_close() manually because we haven't yet hooked up + * the various 'struct file' fields. */ FILEDESC_LOCK(fdp); FILE_LOCK(fp); -- cgit v1.1