FreeBSD src
Go to file
jb e9b0f7892b Change signal model to match POSIX (i.e. one set of signal handlers
for the process, not a separate set for each thread). By default, the
process now only has signal handlers installed for SIGVTALRM, SIGINFO
and SIGCHLD. The thread kernel signal handler is installed for other
signals on demand. This means that SIG_IGN and SIG_DFL processing is now
left to the kernel, not the thread kernel.

Change the signal dispatch to no longer use a signal thread, and
call the signal handler using the stack of the thread that has the
signal pending.

Change the atomic lock method to use test-and-set asm code with
a yield if blocked. This introduces separate locks for each type
of object instead of blocking signals to prevent a context
switch. It was this blocking of signals that caused the performance
degradation the people have noted.

This is a *big* change!
1998-04-29 09:59:34 +00:00
bin Backed out most of rev.1.19 (explicit dependencies of object files 1998-04-26 16:12:23 +00:00
contrib Fix merge errors 1998-04-28 07:37:54 +00:00
crypto Fix nasty typo that randomly caused kinit to not properly deduce the 1998-03-29 07:27:43 +00:00
etc Add pa=none to give a hint that they exist. 1998-04-26 17:28:26 +00:00
games *** empty log message *** 1998-04-27 04:26:56 +00:00
gnu Upgrade to 2.2 1998-04-28 07:16:24 +00:00
include Remove duplicate decls 1998-04-19 15:28:08 +00:00
kerberos5 Fix a break in the includes where the build blows chunks if it is 1997-10-02 15:03:23 +00:00
kerberosIV Debogotify. ln -f should be ln -s to allow the obj/ dir to be 1998-03-28 07:47:05 +00:00
lib Change signal model to match POSIX (i.e. one set of signal handlers 1998-04-29 09:59:34 +00:00
libexec Set TCP_NODELAY on the control channel to improve performance a bit. 1998-04-28 03:37:23 +00:00
lkm Give this a shot at actually working as an LKM.. 1998-03-27 04:05:08 +00:00
release Add the whatis database to catpages too 1998-04-26 08:34:26 +00:00
sbin say a few words about the -b option. 1998-04-26 18:15:38 +00:00
secure Staticise a variable. 1997-10-08 07:02:48 +00:00
share Don't include ../Makefile.inc here. bsd.man.mk is always included 1998-04-27 15:08:07 +00:00
sys Sync with sys/i386/i386/trap.c revision 1.127. 1998-04-29 09:45:38 +00:00
tools Install tclAppInit.c in the installhdrs step so that it isn't necessary 1998-03-23 13:15:41 +00:00
usr.bin Use historically correct error message in some cases, optionally. 1998-04-28 05:08:10 +00:00
usr.sbin Fixed syntax error for `make checkdpadd'. libfl.a should never be 1998-04-28 05:31:41 +00:00
COPYRIGHT This is the official 4.4 Lite copyright. 1994-09-11 07:53:28 +00:00
Makefile Don't build dependencies unless NOCLEAN is set. This speeds up 1998-04-27 16:21:33 +00:00
Makefile.alpha Add `hdrs' to the beforeinstall for libss so that the headers are 1998-03-30 23:10:39 +00:00
README Note that /etc is not installed by world target either. 1997-08-09 14:36:20 +00:00

This is the top level of the FreeBSD source directory.  This file
was last revised on: $Id: README,v 1.10 1997/02/23 09:18:39 peter Exp $

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 and the contents of /etc.  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 with config(8) is a somewhat more involved process,
documentation for which can be found at:
   http://www.freebsd.org/handbook/kernelconfig.html
And in the config(8) man page.

The sample kernel configuration files reside in the sys/i386/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 LINT contains entries for all possible devices, not
just those commonly used, and is meant more as a general reference
than an actual kernel configuration file (a kernel built from it
wouldn't even run).


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

contrib		Packages contributed by 3rd parties.

eBones		Kerberos package - NOT FOR EXPORT!

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.

lib		System libraries.

libexec		System daemons.

lkm		Loadable Kernel Modules.

release		Release building Makefile & associated tools.

sbin		System commands.

secure		DES and DES-related utilities - NOT FOR EXPORT!

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/handbook/synching.html