Skip site navigation (1)Skip section navigation (2)
Date:      Mon, 20 Mar 2006 00:13:47 +0000 (UTC)
From:      "Christian S.J. Peron" <csjp@FreeBSD.org>
To:        src-committers@FreeBSD.org, cvs-src@FreeBSD.org, cvs-all@FreeBSD.org
Subject:   cvs commit: src/sys/kern kern_descrip.c
Message-ID:  <200603200013.k2K0Dl9U042253@repoman.freebsd.org>

next in thread | raw e-mail | index | archive | help
csjp        2006-03-20 00:13:47 UTC

  FreeBSD src repository

  Modified files:
    sys/kern             kern_descrip.c 
  Log:
  Restore fd optimization with a few minor tweaks, to quote tegge:
  
  "fdinit() fails to initialize newfdp->fd_fd.fd_lastfile to -1.  This breaks
  fdcopy() which will incorrectly set newfdp->fd_freefile to 1 if no files are
  open and the last file descriptor marked as unused for fdp was 0.  This later
  causes descriptor 0 to be unavailable in newfdp when the optimization is
  enabled.
  
  When the last file descriptor previously marked as used is nonzero and marked
  as unused, fdunused() incorrectly sets fdp->fd_lastfile to fd - 1 due to
  fd_last_used() returning (size - 1).  This hides the problem that breaks the
  optimization."
  
  This allows us to keep the optimization, while un-breaking it.
  
  This is a RELENG_6 candidate.
  
  PR:             kern/87208
  MFC after:      1 week
  Submitted by:   tegge
  
  Revision  Changes    Path
  1.293     +5 -2      src/sys/kern/kern_descrip.c



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?200603200013.k2K0Dl9U042253>