Relay-Version: version B 2.10 5/3/83; site utzoo.UUCP Path: utzoo!mnetor!uunet!husc6!bloom-beacon!gatech!udel!rochester!PT.CS.CMU.EDU!VLSI.CS.CMU.EDU!blh From: blh@VLSI.CS.CMU.EDU (Bruce Horn) Newsgroups: comp.sys.mac Subject: Re: What does access memory manager' mean? Message-ID: <200@PT.CS.CMU.EDU> Date: Mon, 19-Oct-87 10:03:21 EDT Article-I.D.: PT.200 Posted: Mon Oct 19 10:03:21 1987 Date-Received: Tue, 20-Oct-87 02:50:57 EDT References: <5365@jade.BERKELEY.EDU> <10620001@hpfclm.HP.COM> <6497@apple.UUCP> Sender: netnews@PT.CS.CMU.EDU Organization: Carnegie-Mellon University, CS/RI Lines: 28 Summary: QD NOT Reentrant (I'm not the right person to answer this, but here goes...) Ed: QuickDraw (and the Memory Manager, and the Resource Manager, and the Dialog Manager, and the Font Manager...) is not reentrant. In the same way that the cursor calls are not reentrant, neither is QuickDraw (imagine setting the port in one process, then running another that calls QD). This is the problem that is solved partially by Multifinder, which works hard to save and restore all the appropriate globals. It's not just a matter of saving and restoring globals, either; shared structures would need locks and synchronization. Since Multifinder is non-preemptive, it is much easier to handle the "multitasking", since there is no need for locking the structures (context swaps never occur in the middle of critical areas). I don't know what they do with A/UX, which supposedly allows you to call the Toolbox reentrantly. I suspect that interrupts are turned off at critical times (like when entering the ROM--so it really isn't reentrant). -- Bruce Horn, Carnegie Mellon CSD uucp: ...!seismo!cmucspt!cmu-cs-vlsi!blh ARPA: blh@vlsi.cs.cmu.edu