summaryrefslogtreecommitdiff
path: root/usr.bin/cvs
diff options
context:
space:
mode:
authorAaron Campbell <aaron@cvs.openbsd.org>2005-11-02 20:03:17 +0000
committerAaron Campbell <aaron@cvs.openbsd.org>2005-11-02 20:03:17 +0000
commit821ffc7bebfd34488198714ae269661ed9d1a106 (patch)
treec283b99d3ac6a14256768c3301e68e3d4ad5ed80 /usr.bin/cvs
parent7046ecf41f8fe41879b7313a005974392d9c2222 (diff)
Avoid a theoretical race condition.
In fork1(), setup the p_{prof,virt}_to timeouts _before_ putting the process on the runqueue. Since SCHED_UNLOCK() can cause pre-emption, it is possible (with the old code) for the newly created process to run and become curproc before the timeouts were set. If itimers are set early, and you're unlucky, hardclock() might fire at this time and attempt timeout_add() on the unset timeouts, leading to "panic: timeout_add: not initialized". deraadt@, miod@ ok
Diffstat (limited to 'usr.bin/cvs')
0 files changed, 0 insertions, 0 deletions