1
0
mirror of https://git.FreeBSD.org/src.git synced 2024-12-11 09:50:12 +00:00
freebsd/lib
Marcel Moolenaar 778a4a9dd4 Grok async contexts. When a thread is interrupted and an upcall
happens, the context of the interrupted thread is exported to
userland. Unlike most contexts, it will be an async context and
we cannot easily use our existing functions to set such a
context.
To avoid a lot of complexity that may possibly interfere with
the common case, we simply let the kernel deal with it. However,
we don't use the EPC based syscall path to invoke setcontext(2).
No, we use the break-based syscall path. That way the trapframe
will be compatible with the context we're trying to restore and
we save the kernel a lot of trouble. The kind of trouble we did
not want to go though ourselves...

However, we also need to set the threads mailbox and there's no
syscall to help us out. To avoid creating a new syscall, we use
the context itself to pass the information to the kernel so that
the kernel can update the mailbox. This involves setting a flag
(_MC_FLAGS_KSE_SET_MBOX) and setting ifa (the address) and isr
(the value).
2003-08-07 08:03:05 +00:00
..
compat
csu Fix typo: Passing the first argument to exit() in out2 does not work. 2003-07-15 03:50:38 +00:00
libalias In the PKT_ALIAS_PROXY_ONLY mode, make sure to preserve the 2003-06-13 21:54:01 +00:00
libatm Correct a cut'n'paste error in a comment. 2003-07-29 13:51:53 +00:00
libbind
libbz2 Remove MAINTAINER lines. 2003-06-14 19:32:52 +00:00
libc Implement mbtowc() in terms of mbrtowc(), and wctomb() in terms of wcrtomb(). 2003-08-07 07:59:36 +00:00
libc_r Add wrapper for kqueue() to keep track of the allocated fd and allow it to 2003-07-25 17:02:33 +00:00
libcalendar
libcam Remove MAINTAINER= lines in the makefiles for camcontrol, iostat, libcam 2003-06-14 05:28:01 +00:00
libcom_err
libcompat Axe AINC. 2003-07-01 15:07:01 +00:00
libcrypt The .Fn function 2003-06-08 10:20:32 +00:00
libdevinfo
libdevstat Remove MAINTAINER= lines in the makefiles for camcontrol, iostat, libcam 2003-06-14 05:28:01 +00:00
libdisk Sanity check the list obtained from the kern.disks sysctl so that Disk_Names() 2003-06-07 20:02:56 +00:00
libedit LANG->LC_ALL 2003-08-04 21:31:53 +00:00
libexpat
libfetch Make sure the crypto versions of libfetch and fetch(1) appear in 2003-07-22 13:54:31 +00:00
libform Use 2003-06-06 13:46:55 +00:00
libftpio The .Fn function 2003-06-08 10:34:00 +00:00
libgeom Remove GCC-specific debugging option. 2003-07-24 19:53:02 +00:00
libio
libipsec
libipx Correct a typo. 2003-06-08 19:41:58 +00:00
libisc Fix the #include part of the SYNOPSIS for heap.3 2003-06-17 08:43:19 +00:00
libkse Grok async contexts. When a thread is interrupted and an upcall 2003-08-07 08:03:05 +00:00
libkvm Remove unnecssary <vm/swap_pager.h> includes. 2003-07-31 21:44:31 +00:00
libmd Rename local variables to not mask global names of same name. This 2003-06-05 13:17:32 +00:00
libmenu Use 2003-06-06 13:46:55 +00:00
libmilter Remove MAINTAINER= lines from individual Makefiles in favor of the 2003-07-07 03:54:04 +00:00
libmp
libncp Fix for 64 bit platforms. sysctl's length args are pointers to 2003-07-25 19:17:46 +00:00
libncurses Use 2003-06-06 13:46:55 +00:00
libnetgraph The .Fn function 2003-06-08 10:34:00 +00:00
libopie
libpam Revert previous commit after fixing libpam. 2003-07-21 19:56:28 +00:00
libpanel Use 2003-06-06 13:46:55 +00:00
libpcap
libpthread Grok async contexts. When a thread is interrupted and an upcall 2003-08-07 08:03:05 +00:00
libradius Add IPv6 related attributes defined in RFC3162. 2003-06-18 17:29:15 +00:00
librpcsvc
libsbuf
libsm Remove MAINTAINER= lines from individual Makefiles in favor of the 2003-07-07 03:54:04 +00:00
libsmb
libsmdb Remove MAINTAINER= lines from individual Makefiles in favor of the 2003-07-07 03:54:04 +00:00
libsmutil Remove MAINTAINER= lines from individual Makefiles in favor of the 2003-07-07 03:54:04 +00:00
libstand bsd.lib.mk,v 1.143 no longer uses ld(1) directly to strip 2003-06-30 19:08:49 +00:00
libtacplus
libtelnet Make sure that a "make release" (more accurately the bit that makes 2003-07-24 17:19:15 +00:00
libthr Implement _get_curthread and _set_curthread. We use GCCs builtin 2003-07-24 07:51:49 +00:00
libufs Correct an apparent typo. 2003-06-19 22:12:54 +00:00
libugidfw Assorted mdoc(7) fixes. 2003-06-01 19:41:49 +00:00
libusbhid Assorted mdoc(7) fixes. 2003-05-22 13:02:28 +00:00
libutil Tidy up. Sort headers. 2003-06-14 18:42:37 +00:00
libvgl
libwrap Turn on the extended syntax, which TCP_wrappers has by default, as 2003-07-24 19:58:56 +00:00
libxpg4 Mark libxpg4 as OBSOLETE_IN_6: it has been empty since its contents 2003-06-13 07:21:37 +00:00
liby
libypclnt Fix the master yppasswd routines, so they really work 2003-06-15 10:36:53 +00:00
libz Fix URL of zlib home page: It's hosted at gzip.org now. 2003-06-26 20:05:47 +00:00
msun Fixed some style bugs (misplacement and misformatting of some commented-out 2003-07-23 09:24:44 +00:00
ncurses Use 2003-06-06 13:46:55 +00:00
Makefile Don't check for the existance of src/crypto/ for building items that 2003-07-24 18:30:25 +00:00
Makefile.inc