Path: utzoo!utgpu!jarvis.csri.toronto.edu!mailrus!csd4.milw.wisc.edu!bionet!ames!apple!well!brecher From: brecher@well.UUCP (Steve Brecher) Newsgroups: comp.sys.mac.programmer Subject: Re: Moving resources into the system file Message-ID: <12810@well.UUCP> Date: 21 Jul 89 20:08:23 GMT References: <1230@uvm-gen.UUCP> <8065@hoptoad.uucp> Reply-To: brecher@well.UUCP (Steve Brecher) Distribution: na Organization: Software Supply, Sunnyvale, CA Lines: 25 In article <8065@hoptoad.uucp>, tim@hoptoad.uucp (Tim Maroney) writes: > ExitToShell *should* be releasing application-heap copies of the system > file resources under MultiFinder. I know it does under UniFinder. > However, if you think about it, there must be some sort of weird > special casing involved. There's a dearth of internal information on > MultiFinder, but a little poking with MacsBug reveals that different > applications each have their own copy of the system resource map. Application heap handles are removed from the System map by RsrcZoneInit, which is called during the launch process under uniFinder but not called under MultiFinder. There is only one copy of the System map. Each layer has its own resource map chain (TopMapHndl is switched), but each chain links to the System map in the system heap. [Tim's diagnosis (not quoted) of the original problem was correct, i.e., adding application heap handles to the System map under MultiFinder and then quitting without releasing the resources leaves dangling handles in the System map.] -- brecher@well.UUCP (Steve Brecher)