cvs commit: src/sys/kern kern_descrip.c kern_event.c sys_socket.c vfs_vnops.c

Robert Watson rwatson at FreeBSD.org
Thu Jul 22 13:40:24 PDT 2004


rwatson     2004-07-22 20:40:24 UTC

  FreeBSD src repository

  Modified files:
    sys/kern             kern_descrip.c kern_event.c sys_socket.c 
                         vfs_vnops.c 
  Log:
  Push Giant acquisition down into fo_stat() from most callers.  Acquire
  Giant conditional on debug.mpsafenet in the socket soo_stat() routine,
  unconditionally in vn_statfile() for VFS, and otherwise don't acquire
  Giant.  Accept an unlocked read in kqueue_stat(), and cryptof_stat() is
  a no-op.  Don't acquire Giant in fstat() system call.
  
  Note: in fdescfs, fo_stat() is called while holding Giant due to the VFS
  stack sitting on top, and therefore there will still be Giant recursion
  in this case.
  
  Revision  Changes    Path
  1.238     +0 -6      src/sys/kern/kern_descrip.c
  1.74      +1 -0      src/sys/kern/kern_event.c
  1.63      +5 -1      src/sys/kern/sys_socket.c
  1.205     +2 -0      src/sys/kern/vfs_vnops.c


More information about the cvs-all mailing list