mirror of
git://git.sv.gnu.org/emacs.git
synced 2026-03-26 00:34:17 -07:00
Improving references to documentation and source code.
Copied from Perforce Change: 182983 ServerID: perforce.ravenbrook.com
This commit is contained in:
parent
6cfd6d75c9
commit
0ebb152f41
2 changed files with 21 additions and 14 deletions
|
|
@ -24,16 +24,22 @@
|
|||
* thread to progress.
|
||||
*
|
||||
*
|
||||
* SOURCES
|
||||
*
|
||||
* .source.man: <http://felinemenace.org/~nemo/mach/manpages/>
|
||||
* <http://web.mit.edu/darwin/src/modules/xnu/osfmk/man/>
|
||||
*
|
||||
*
|
||||
* REFERENCES
|
||||
*
|
||||
* [Fuller_2013] "Mach Exception Handlers"; Landon Fuller;
|
||||
* <http://www.mikeash.com/pyblog/friday-qa-2013-01-11-mach-exception-handlers.html>
|
||||
* <http://www.mikeash.com/pyblog/friday-qa-2013-01-11-mach-exception-handlers.html>.
|
||||
*
|
||||
* [XNU] "xnu-2050.22.13" source code;
|
||||
* Apple Computer;
|
||||
* <http://www.opensource.apple.com/source/xnu/xnu-2050.22.13/>.
|
||||
*
|
||||
* [Mach_man] Mach man pages within XNU;
|
||||
* Apple Computer;
|
||||
* <http://www.opensource.apple.com/source/xnu/xnu-2050.22.13/osfmk/man/>.
|
||||
*
|
||||
* [Libc] "Libc-825.26" source code;
|
||||
* Apple Computer;
|
||||
* <http://www.opensource.apple.com/source/Libc/Libc-825.26/>.
|
||||
*
|
||||
*
|
||||
* TRANSGRESSIONS
|
||||
|
|
@ -172,7 +178,8 @@ static void protMustSend(mach_msg_header_t *head)
|
|||
*
|
||||
* Mac OS X provides a function exc_server (in
|
||||
* /usr/lib/system/libsystem_kernel.dylib) that's documented in the XNU
|
||||
* sources and generated by the Mach Interface Generator (mig). It unpacks
|
||||
* sources <http://www.opensource.apple.com/source/xnu/xnu-2050.22.13/osfmk/man/exc_server.html>
|
||||
* and generated by the Mach Interface Generator (mig). It unpacks
|
||||
* an exception message structure and calls one of several handler functions.
|
||||
* We can't use it because:
|
||||
*
|
||||
|
|
@ -251,7 +258,7 @@ static void protCatchOne(void)
|
|||
task-wide exception handler, but the code is pretty hairy and not
|
||||
necessary as long as the MPS is registering threads individually.
|
||||
If we ever need to reinstate that code, look at
|
||||
//info.ravenbrook.com/project/mps/branch/2013-06-18/macosx-threads/code/protxc.c#3 */
|
||||
https://info.ravenbrook.com/project/mps/prototype/2013-06-24/machtest */
|
||||
|
||||
protBuildReply(&reply, &request, KERN_FAILURE);
|
||||
protMustSend(&reply.Head);
|
||||
|
|
@ -352,8 +359,8 @@ static void protSetup(void)
|
|||
|
||||
/* Launch the exception handling thread. We use pthread_create because
|
||||
it's much simpler than setting up a thread from scratch using Mach,
|
||||
and that's basically what it does (by inspection of the XNU source
|
||||
code). */
|
||||
and that's basically what it does. See [Libc]
|
||||
<http://www.opensource.apple.com/source/Libc/Libc-825.26/pthreads/pthread.c> */
|
||||
pr = pthread_create(&excThread, NULL, protCatchThread, NULL);
|
||||
AVER(pr == 0);
|
||||
if (pr != 0)
|
||||
|
|
|
|||
|
|
@ -4,10 +4,10 @@
|
|||
* Copyright (c) 2013 Ravenbrook Limited. See end of file for license.
|
||||
*
|
||||
* REFERENCES
|
||||
* "Abusing Mach on Mac OS X" <http://www.uninformed.org/?v=4&a=3&t=pdf>
|
||||
* Mach man pages <http://felinemenace.org/~nemo/mach/manpages/>
|
||||
*
|
||||
* TODO: Consider making Register a no-op and using task_threads().
|
||||
* [Mach_man] Mach man pages within XNU;
|
||||
* Apple Computer;
|
||||
* <http://www.opensource.apple.com/source/xnu/xnu-2050.22.13/osfmk/man/>.
|
||||
*/
|
||||
|
||||
#include "mpm.h"
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue