Relay-Version: version B 2.10 5/3/83; site utzoo.UUCP Path: utzoo!mnetor!uunet!husc6!rutgers!mcnc!ece-csc!ncrcae!ncr-sd!hp-sdd!hplabs!hpcea!hpfcdc!hpfclm!brian From: brian@hpfclm.HP.COM (Brian Rauchfuss) Newsgroups: comp.sys.mac Subject: Re: What does access memory manager' mean? Message-ID: <10620001@hpfclm.HP.COM> Date: Fri, 9-Oct-87 23:37:33 EDT Article-I.D.: hpfclm.10620001 Posted: Fri Oct 9 23:37:33 1987 Date-Received: Mon, 12-Oct-87 21:37:30 EDT References: <5365@jade.BERKELEY.EDU> Organization: Hewlett-Packard - Fort Collins, CO Lines: 25 / hpfclm:comp.sys.mac / jmm@thoth14.berkeley.edu.BERKELEY.EDU / 1:41 pm Oct 8, 1987 / >In IM, it says that you can't use any >routines that access the memory manager >directly or indirectly from within >things such as VBL tasks, system tasks, etc. >Does this mean that any system call that >can cause heap scrambles is disallowed? No, it is worse than that, VBL tasks are run during the vertical blanking interval, which is run by an interupt. That means that the system could have been doing ANYTHING when it was interupted. It could have been rearranging the heap, for example, in which case memory manager routines which need to look at the heap are very, very dangerous. In general, it is safe to play with locked down blocks and pointers, and most (all?) commands which do not scramble the heap can be used as long as you are sure the data you pass to them is not moveable. Brian (Smokefoot) Rauchfuss "Hey, lay off man, I'm a scientist"