Skip site navigation (1)Skip section navigation (2)
Date:      Mon, 21 Mar 2005 23:01:30 +0000 (UTC)
From:      Ian Dowse <iedowse@FreeBSD.org>
To:        src-committers@FreeBSD.org, cvs-src@FreeBSD.org, cvs-all@FreeBSD.org
Subject:   cvs commit: src/share/man/man9 Makefile timeout.9 src/sys/kern kern_timeout.c
Message-ID:  <200503212301.j2LN1Uqk084500@repoman.freebsd.org>

next in thread | raw e-mail | index | archive | help
iedowse     2005-03-21 23:01:30 UTC

  FreeBSD src repository

  Modified files:        (Branch: RELENG_5)
    share/man/man9       timeout.9 Makefile 
    sys/kern             kern_timeout.c 
  Log:
  Partialially MFC the changes to the callout system that prevent
  race conditions when stopping and resetting timers. This only avoids
  the race conditions with Giant-locked callouts; it was not possible
  to backport callout_init_mtx() since adding the c_mtx field to
  struct callout would have changed the callout ABI.
  
  Giant-locked callouts will now have much simpler semantics. As long
  as Giant is held when invoking callout_stop() or callout_reset(),
  then these functions will guarantee that the callout will be stopped,
  even if softclock() had already begun to process the callout.
  
  There should be no change in behaviour for "MP-safe" callouts; these
  still need to use the techniques now described in timeout(9) to
  avoid race conditions.
  
  Approved by:    re (kensmith)
  
  Revision   Changes    Path
  1.239.2.8  +3 -0      src/share/man/man9/Makefile
  1.23.2.2   +252 -9    src/share/man/man9/timeout.9
  1.91.2.2   +52 -8     src/sys/kern/kern_timeout.c



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