diff options
author | Samuel Thibault <samuel.thibault@ens-lyon.org> | 2020-11-11 01:13:43 +0100 |
---|---|---|
committer | Samuel Thibault <samuel.thibault@ens-lyon.org> | 2020-11-11 01:20:03 +0100 |
commit | 3b14ab0254a131e458c4f5ffdee931e868206424 (patch) | |
tree | 0a88ed88851e966d3c5f2ac08b4eb243c99c96b0 /libthreads/mig_support.c | |
parent | 986c7a7d686a850830f9fc5bea1fadcfe9f4999c (diff) | |
download | hurd-3b14ab0254a131e458c4f5ffdee931e868206424.tar.gz hurd-3b14ab0254a131e458c4f5ffdee931e868206424.tar.bz2 hurd-3b14ab0254a131e458c4f5ffdee931e868206424.zip |
libthreads: Remove
libthreads is most probably completely broken, and not the long-term
road anyway.
* config.make.in (VERSIONING): Remove.
* configure.ac: Test for pfinet assembly compatibility instead of
libthreads assembly compatibility. Do not set VERSIONING.
* libthreads: Remove directory.
* Makefile (lib-subdirs): Remove libthreads.
* doc/hurd.texi (Threads Library): Rename references to libthreads into
libpthread.
* release/rfloppy.copy: Do not objcopy lib/libthreads.so.
* release/tool-Makefile (rfloppy-solib): Remove libthreads.
Diffstat (limited to 'libthreads/mig_support.c')
-rw-r--r-- | libthreads/mig_support.c | 234 |
1 files changed, 0 insertions, 234 deletions
diff --git a/libthreads/mig_support.c b/libthreads/mig_support.c deleted file mode 100644 index cd0d4124..00000000 --- a/libthreads/mig_support.c +++ /dev/null @@ -1,234 +0,0 @@ -/* - * Mach Operating System - * Copyright (c) 1993-1989 Carnegie Mellon University - * All Rights Reserved. - * - * Permission to use, copy, modify and distribute this software and its - * documentation is hereby granted, provided that both the copyright - * notice and this permission notice appear in all copies of the - * software, derivative works or modified versions, and any portions - * thereof, and that both notices appear in supporting documentation. - * - * CARNEGIE MELLON ALLOWS FREE USE OF THIS SOFTWARE IN ITS "AS IS" - * CONDITION. CARNEGIE MELLON DISCLAIMS ANY LIABILITY OF ANY KIND FOR - * ANY DAMAGES WHATSOEVER RESULTING FROM THE USE OF THIS SOFTWARE. - * - * Carnegie Mellon requests users of this software to return to - * - * Software Distribution Coordinator or Software.Distribution@CS.CMU.EDU - * School of Computer Science - * Carnegie Mellon University - * Pittsburgh PA 15213-3890 - * - * any improvements or extensions that they make and grant Carnegie Mellon - * the rights to redistribute these changes. - */ -/* - * HISTORY - * 26-Feb-94 Johannes Helander (jvh) at Helsinki University of Technology - * Added mach_put_reply_port. mig_dealloc_reply_port now takes the - * port as an argument. - * - * $Log: mig_support.c,v $ - * Revision 2.8 93/01/24 13:27:14 danner - * Corrrected include of mach/mach.h to mach.h - * [93/01/16 mrt] - * - * Revision 2.7 93/01/14 18:05:37 danner - * Converted file to ANSI C. - * Made argument to mig_init a void * for compatibility with - * mig_init in libmach. - * [92/12/18 pds] - * - * Revision 2.6 91/05/14 17:57:41 mrt - * Correcting copyright - * - * Revision 2.5 91/02/14 14:20:30 mrt - * Added new Mach copyright - * [91/02/13 12:41:26 mrt] - * - * Revision 2.4 90/08/07 14:31:41 rpd - * Removed RCS keyword nonsense. - * - * Revision 2.3 90/08/07 14:27:48 rpd - * When we recycle the global reply port by giving it to the first - * cthread, clear the global reply port. This will take care of - * someone accidentally calling this twice. - * [90/08/07 rwd] - * - * Revision 2.2 90/06/02 15:14:04 rpd - * Converted to new IPC. - * [90/03/20 20:56:50 rpd] - * - * Revision 2.1 89/08/03 17:09:50 rwd - * Created. - * - * 18-Jan-89 David Golub (dbg) at Carnegie-Mellon University - * Replaced task_data() by thread_reply(). - * - * - * 27-Aug-87 Eric Cooper (ecc) at Carnegie Mellon University - * Changed mig_support.c to avoid deadlock that can occur - * if tracing is turned on during calls to mig_get_reply_port(). - * - * 10-Aug-87 Eric Cooper (ecc) at Carnegie Mellon University - * Changed mig_support.c to use MACH_CALL. - * Changed "is_init" to "multithreaded" and reversed its sense. - * - * 30-Jul-87 Mary Thompson (mrt) at Carnegie Mellon University - * Created. - */ -/* - * File: mig_support.c - * Author: Mary R. Thompson, Carnegie Mellon University - * Date: July, 1987 - * - * Routines to set and deallocate the mig reply port for the current thread. - * Called from mig-generated interfaces. - * - */ - - -#include <mach.h> -#include <mach/mig_support.h> -#include <mach/mach_traps.h> -#include <cthreads.h> -#include "cthread_internals.h" - -private boolean_t multithreaded = FALSE; -/* use a global reply port before becoming multi-threaded */ -private mach_port_t mig_reply_port = MACH_PORT_NULL; - -/* - * Called by mach_init with 0 before cthread_init is - * called and again with initial cproc at end of cthread_init. - */ -void -mig_init(register void *initial) -{ - if (initial == NO_CPROC) { - /* called from mach_init before cthread_init, - possibly after a fork. clear global reply port. */ - - multithreaded = FALSE; - mig_reply_port = MACH_PORT_NULL; - } else { - /* recycle global reply port as this cthread's reply port */ - - multithreaded = TRUE; - ((cproc_t) initial)->reply_port = mig_reply_port; - mig_reply_port = MACH_PORT_NULL; - } -} - -/* - * Called by mig interface code whenever a reply port is needed. - */ -mach_port_t -mig_get_reply_port(void) -{ - register mach_port_t reply_port; - - if (multithreaded) { - register cproc_t self; - - self = cproc_self(); - ASSERT(self != NO_CPROC); - - if ((reply_port = self->reply_port) == MACH_PORT_NULL) - self->reply_port = reply_port = mach_reply_port(); - } else { - if ((reply_port = mig_reply_port) == MACH_PORT_NULL) - mig_reply_port = reply_port = mach_reply_port(); - } - - return reply_port; -} - -/* - * Called by mig interface code after a timeout on the reply port. - * May also be called by user. - */ -/*ARGSUSED*/ -void -mig_dealloc_reply_port(mach_port_t p) -{ - register mach_port_t reply_port; - - if (multithreaded) { - register cproc_t self; - - self = cproc_self(); - ASSERT(self != NO_CPROC); - - reply_port = self->reply_port; - self->reply_port = MACH_PORT_NULL; - } else { - reply_port = mig_reply_port; - mig_reply_port = MACH_PORT_NULL; - } - - (void) mach_port_mod_refs(mach_task_self(), reply_port, - MACH_PORT_RIGHT_RECEIVE, -1); -} - -/* - * Called by mig interfaces when done with a port. - * Used to provide the same interface as needed when a custom - * allocator is used. - */ - -/*ARGSUSED*/ -void -mig_put_reply_port(mach_port_t port) -{ - /* Do nothing */ -} - -void -__mig_init(register void *initial) -{ - mig_init (initial); -} - -mach_port_t -__mig_get_reply_port(void) -{ - return mig_get_reply_port(); -} - -void -__mig_dealloc_reply_port(mach_port_t p) -{ - mig_dealloc_reply_port(p); -} - -void -__mig_put_reply_port(mach_port_t port) -{ - mig_put_reply_port(port); -} - -void -__mig_dealloc_reply_port (void) -{ - mig_dealloc_reply_port (); -} - -/* XXX shouldn't need these */ -/* Called by MiG to allocate space. */ -void -__mig_allocate (vm_address_t *addr, - vm_size_t size) -{ - if (__vm_allocate (__mach_task_self (), addr, size, 1) != KERN_SUCCESS) - *addr = 0; -} - -/* Called by MiG to deallocate space. */ -void -__mig_deallocate (vm_address_t addr, - vm_size_t size) -{ - (void) __vm_deallocate (__mach_task_self (), addr, size); -} |