OPNsense - FreeBSD source
Find a file
John Baldwin 007ddf7e7a Now that the return value semantics of cv's for multithreaded processes
have been unified with that of msleep(9), further refine the sleepq
interface and consolidate some duplicated code:
- Move the pre-sleep checks for theaded processes into a
  thread_sleep_check() function in kern_thread.c.
- Move all handling of TDF_SINTR to be internal to subr_sleepqueue.c.
  Specifically, if a thread is awakened by something other than a signal
  while checking for signals before going to sleep, clear TDF_SINTR in
  sleepq_catch_signals().  This removes a sched_lock lock/unlock combo in
  that edge case during an interruptible sleep.  Also, fix
  sleepq_check_signals() to properly handle the condition if TDF_SINTR is
  clear rather than requiring the callers of the sleepq API to notice
  this edge case and call a non-_sig variant of sleepq_wait().
- Clarify the flags arguments to sleepq_add(), sleepq_signal() and
  sleepq_broadcast() by creating an explicit submask for sleepq types.
  Also, add an explicit SLEEPQ_MSLEEP type rather than a magic number of
  0.  Also, add a SLEEPQ_INTERRUPTIBLE flag for use with sleepq_add() and
  move the setting of TDF_SINTR to sleepq_add() if this flag is set rather
  than sleepq_catch_signals().  Note that it is the caller's responsibility
  to ensure that sleepq_catch_signals() is called if and only if this flag
  is passed to the preceeding sleepq_add().  Note that this also removes a
  sched_lock lock/unlock pair from sleepq_catch_signals().  It also ensures
  that for an interruptible sleep, TDF_SINTR is always set when
  TD_ON_SLEEPQ() is true.
2004-08-19 11:31:42 +00:00
bin Add a "fillchar" command line argument to dd(1) that permits the user 2004-08-15 19:10:05 +00:00
contrib NetBSD has updated their groff to a version that handles .Nm the same 2004-08-18 06:41:13 +00:00
crypto Add support for C3 Nehemiah ACE ("Padlock") AES crypto. This comes 2004-08-14 13:38:35 +00:00
etc Always quote variables in tests, to ensure correct evaluation even when 2004-08-19 08:55:24 +00:00
games Add a useful snippet on limitations of inductive reasoning by Bertrand 2004-08-15 19:24:17 +00:00
gnu Meet the 6.0-CURRENT era. While here, teach mdoc(7) about the upcoming 2004-08-19 10:41:54 +00:00
include Connect RAID3 GEOM class to the build. 2004-08-16 06:36:21 +00:00
kerberos5 Join the 21st century: Cryptography is no longer an optional component 2004-08-06 07:27:08 +00:00
lib Bring ia64 back from the dead. After a call one needs to restore the 2004-08-18 23:06:47 +00:00
libexec Turn on the FreeBSD login user capabilities database support. 2004-08-18 06:46:25 +00:00
release Meet the new era of 6.0-CURRENT. 2004-08-19 10:34:59 +00:00
rescue As with the non-rescue version don't build fore_dnld when NOATM is defined. 2004-08-16 03:16:48 +00:00
sbin Generalize the UFS bad magic value used to determine when a filesystem 2004-08-19 11:09:13 +00:00
secure Add support for C3 Nehemiah ACE ("Padlock") AES crypto. This comes 2004-08-14 13:38:35 +00:00
share Bump document date. 2004-08-19 11:25:03 +00:00
sys Now that the return value semantics of cv's for multithreaded processes 2004-08-19 11:31:42 +00:00
tools Print the patch file name in the warning message for missing patch files. 2004-08-19 07:31:10 +00:00
usr.bin Document the effects of modifying the .MAKEFLAGS internal 2004-08-18 13:25:46 +00:00
usr.sbin When one entry in the RSDT is corrupted, just skip it instead of bailing out. 2004-08-18 05:56:07 +00:00
COPYRIGHT Update the COPYRIGHT file to include FreeBSD's compilation copyright 2003-12-31 22:35:22 +00:00
installworld_newk Commit the first set of files for changing time_t on freebsd/sparc64 2004-03-03 19:36:20 +00:00
installworld_oldk Commit the first set of files for changing time_t on freebsd/sparc64 2004-03-03 19:36:20 +00:00
MAINTAINERS Add myself as geom_raid3 maintainer. 2004-08-16 10:43:41 +00:00
Makefile My take at improving the universe: allow the worlds to be 2004-08-18 07:17:01 +00:00
Makefile.inc1 A fix from rev. 1.52 of gnu/usr.bin/cc/cc_tools/Makefile was lost 2004-08-18 13:21:40 +00:00
README KerberosIV de-orbit burn continues. Disconnect from "make world". 2003-03-08 10:01:26 +00:00
UPDATING Add a note about RANDOM_IP_ID. 2004-08-14 16:16:01 +00:00
UPDATING.64BTT Add a tip for people who are using database-related ports on a sparc64 2004-03-17 01:59:47 +00:00

This is the top level of the FreeBSD source directory.  This file
was last revised on:
$FreeBSD$

For copyright information, please see the file COPYRIGHT in this
directory (additional copyright information also exists for some
sources in this tree - please see the specific source directories for
more information).

The Makefile in this directory supports a number of targets for
building components (or all) of the FreeBSD source tree, the most
commonly used one being ``world'', which rebuilds and installs
everything in the FreeBSD system from the source tree except the
kernel, the kernel-modules and the contents of /etc.  The
``buildkernel'' and ``installkernel'' targets build and install
the kernel and the modules (see below).  Please see the top of
the Makefile in this directory for more information on the
standard build targets and compile-time flags.

Building a kernel is a somewhat more involved process, documentation
for which can be found at:
   http://www.freebsd.org/doc/en_US.ISO8859-1/books/handbook/kernelconfig.html
And in the config(8) man page.
Note: If you want to build and install the kernel with the
``buildkernel'' and ``installkernel'' targets, you might need to build
world before.  More information is available in the handbook.

The sample kernel configuration files reside in the sys/<arch>/conf
sub-directory (assuming that you've installed the kernel sources), the
file named GENERIC being the one used to build your initial installation
kernel.  The file NOTES contains entries and documentation for all possible
devices, not just those commonly used.  It is the successor of the ancient
LINT file, but in contrast to LINT, it is not buildable as a kernel but a
pure reference and documentation file.


Source Roadmap:
---------------
bin		System/user commands.

contrib		Packages contributed by 3rd parties.

crypto		Cryptography stuff (see crypto/README).

etc		Template files for /etc.

games		Amusements.

gnu		Various commands and libraries under the GNU Public License.
		Please see gnu/COPYING* for more information.

include		System include files.

kerberos5	Kerberos5 (Heimdal) package.

lib		System libraries.

libexec		System daemons.

release		Release building Makefile & associated tools.

sbin		System commands.

secure		Cryptographic libraries and commands.

share		Shared resources.

sys		Kernel sources.

tools		Utilities for regression testing and miscellaneous tasks.

usr.bin		User commands.

usr.sbin	System administration commands.


For information on synchronizing your source tree with one or more of
the FreeBSD Project's development branches, please see:

  http://www.freebsd.org/doc/en_US.ISO8859-1/books/handbook/synching.html