opnsense-src/lib
Daniel Eischen 02245e6120 Add an i386-specifc hack to always set %gs. There still seems
to be instances where the kernel doesn't  properly save and/or
restore it.

Use noupcall and nocompleted flags in the KSE mailbox.  These
require kernel changes to work which will be committed sometime
later.  Things still work without the changes.

Remove the general kse entry function and use two different
functions -- one for scope system threads and one for scope
process threads.  The scope system function is not yet enabled
and we use the same function for all threads at the moment.

Keep a copy of the KSE stack for the case that a KSE runs
a scope system thread and uses the same stack as the thread
(no upcalls are generated, so a separate stack isn't needed).
This isn't enabled yet.

Use a separate field for the KSE waiting flag.  It isn't
correct to use the mailbox flags field.

The following fixes were provided by David Xu:

  o Initialize condition variable locks with thread versions
    of the low-level locking functions instead of the kse versions.

  o Enable threading before creating the first thread instead
    of after.

  o Don't enter critical regions when trying to malloc/free
    or call functions that malloc/free.

  o Take the scheduling lock when inheriting thread attributes.

  o Check the attribute's stack pointer instead of the
    attributes stack size for null when allocating a
    thread's stack.

  o Add a kseg reinit function so we don't have to destroy and
    then recreate the same lock.

  o Check the return value of kse_create() and return an
    appropriate error if it fails.

  o Don't forget to destroy a thread's locks when freeing it.

  o Examine the correct flags word for checking to see if
    a thread is in a synchronization queue.

Things should now work on an SMP kernel.
2003-04-21 04:02:56 +00:00
..
compat Add libgmp.so.3 from 4.7-RELEASE CDs. 2003-02-17 17:26:03 +00:00
csu Very minor EOL whitespace diff-reducer. 2003-01-26 23:34:47 +00:00
libalias style.Makefile(5) 2003-04-20 18:38:59 +00:00
libatm fix __FBSDID 2003-04-20 18:41:16 +00:00
libbind Removed now unused INTERNALSTATICLIB. 2002-05-13 11:09:07 +00:00
libbz2 Zap now-unused SHLIB_MINOR 2002-09-28 00:25:32 +00:00
libc Add FILES section to mac.3 and mac.conf.5. Properly Xref mac.conf.5 2003-04-20 04:43:56 +00:00
libc_r Add stub implementations of pthread_[gs]etconcurrency to libc_r and 2003-04-20 01:53:13 +00:00
libcalendar
libcam english(4) police. 2002-12-27 12:15:40 +00:00
libcom_err
libcompat The .Fn function 2003-03-24 16:02:05 +00:00
libcrypt english(4) police. 2002-12-27 12:15:40 +00:00
libdevinfo Expand length of pnpinfo and length fields since pccard pnpinfo can 2003-02-17 18:56:00 +00:00
libdevstat Add prototype for compute_stats() so that libdevstat is WARNS=4 clean. 2003-04-19 07:42:13 +00:00
libdisk Use sized cast matching the sized pointer. 2003-04-04 16:59:39 +00:00
libedit The .Fn function 2003-02-06 11:25:03 +00:00
libexpat english(4) police. 2002-12-27 12:15:40 +00:00
libfetch Don't dereference flags if NULL (see http.c rev 1.87) 2003-03-29 15:15:38 +00:00
libform Make this a little easier to build standalone. (same change as libpanel) 2002-05-21 07:08:30 +00:00
libftpio english(4) police. 2002-12-27 12:15:40 +00:00
libgeom Run a revision on the OAM api. 2003-03-27 14:35:00 +00:00
libio
libipsec Buffer size is not enough in the previous commit. Use 128. 2003-04-17 07:20:00 +00:00
libipx Replace various spelling with FALLTHROUGH which is lint()able 2002-08-25 13:10:45 +00:00
libisc Zap now-unused SHLIB_MINOR 2002-09-28 00:25:32 +00:00
libkse Add an i386-specifc hack to always set %gs. There still seems 2003-04-21 04:02:56 +00:00
libkvm Catch up with the kernel. Move the current cpu indicator to the thread. 2003-04-10 17:41:40 +00:00
libmd The .Fn function 2003-03-24 16:02:05 +00:00
libmenu Make this a little easier to build standalone. (same change as libpanel) 2002-05-21 07:08:30 +00:00
libmilter
libmp Adjust for OpenSSL 0.9.7. 2003-01-28 23:03:15 +00:00
libncp No need to have ifdef < FreeBSD 4.0-current in here. Remove it to 2003-04-04 04:16:06 +00:00
libncurses Make this compile under cs_CZ.ISO8859-2 locale. 2003-04-18 13:01:07 +00:00
libnetgraph Correct typos, mostly s/ a / an / where appropriate. Some whitespace cleanup, 2003-01-01 18:49:04 +00:00
libopie Drop login.c and logwtmp.c from the library build. None of the apps 2002-10-04 00:24:31 +00:00
libpam Connect the pam_chroot(8) module to the build. 2003-04-08 16:52:34 +00:00
libpanel Initial update of bmake glue for ncurses-5.2-20020518 2002-05-21 05:41:07 +00:00
libpcap Zap now-unused SHLIB_MINOR 2002-09-28 00:25:32 +00:00
libpthread Add an i386-specifc hack to always set %gs. There still seems 2003-04-21 04:02:56 +00:00
libradius Zap now-unused SHLIB_MINOR 2002-09-28 00:25:32 +00:00
librpcsvc make rstat(3) return an 'enum clnt_stat' rather than an 'int' to match 2002-10-01 22:02:06 +00:00
libsbuf
libsm Removed now unused INTERNALSTATICLIB. 2002-05-13 11:09:07 +00:00
libsmb Zap now-unused SHLIB_MINOR 2002-09-28 00:25:32 +00:00
libsmdb Removed now unused INTERNALSTATICLIB. 2002-05-13 11:09:07 +00:00
libsmutil Removed now unused INTERNALSTATICLIB. 2002-05-13 11:09:07 +00:00
libstand Trust the code more than the comment(s) and correct some false 2003-04-12 07:36:44 +00:00
libtacplus mdoc(7) police: formatting nits. 2002-11-29 15:57:50 +00:00
libtelnet Removed now unused INTERNALSTATICLIB. 2002-05-13 11:09:07 +00:00
libthr Add support for ia64. 2003-04-20 03:06:42 +00:00
libufs MFp4: Fix copy&paste English error. 2003-03-30 18:00:24 +00:00
libugidfw Correct a couple small typos. 2003-01-07 13:18:21 +00:00
libusbhid Sync with NetBSD. 2003-04-09 01:52:49 +00:00
libutil Brucify. 2003-04-10 10:26:18 +00:00
libvgl Correct typos, mostly s/ a / an / where appropriate. Some whitespace cleanup, 2003-01-01 18:49:04 +00:00
libwrap Zap now-unused SHLIB_MINOR 2002-09-28 00:25:32 +00:00
libxpg4 Zap now-unused SHLIB_MINOR 2002-09-28 00:25:32 +00:00
liby Zap now-unused SHLIB_MINOR 2002-09-28 00:25:32 +00:00
libypclnt style.Makefile(5) police. 2003-03-09 19:56:21 +00:00
libz In src/lib/libz/gzio.c the function gzprintf does not check if the 2003-03-14 01:47:01 +00:00
msun Fix braino in definition of isfinite(). 2003-04-04 13:27:47 +00:00
ncurses Make this compile under cs_CZ.ISO8859-2 locale. 2003-04-18 13:01:07 +00:00
Makefile KerberosIV deorbit sequence continues: Look for K5 instead of KIV 2003-03-08 11:01:31 +00:00
Makefile.inc Zap now-unused SHLIB_MINOR 2002-09-28 00:25:32 +00:00