Path: utzoo!attcan!utgpu!jarvis.csri.toronto.edu!rutgers!tut.cis.ohio-state.edu!gem.mps.ohio-state.edu!ginosko!uunet!mcvax!hp4nl!kunivv1!janhen From: janhen@kunivv1.sci.kun.nl (Jan Hendrikx) Newsgroups: comp.sys.amiga.tech Subject: Re: UnLoadSeg() Message-ID: <371@kunivv1.sci.kun.nl> Date: 14 Jul 89 11:18:43 GMT References: <8907032258.AA16367@jade.berkeley.edu> <7225@cbmvax.UUCP> Reply-To: janhen@wn2.sci.kun.nl (Jan Hendrikx) Organization: University of Nijmegen, The Netherlands Lines: 16 In article <7225@cbmvax.UUCP> jesup@cbmvax.UUCP (Randell Jesup) writes: | UnLoadSeg() has no knowlege of tasks (think about it). However, it |is safe to reference memory that has been freed under a Forbid() so long |as it isn't the first N (where N=8) bytes of the freed hunk. For seglists, |the first 8 bytes are the segment size and next segment BPTR, so the code/ |data isn't touched. Once you explicitly or implicitly break the Forbid |(via Permit or Wait()), the memory can be trashed. This is, of course, very handy for those programs that UnLoadSeg() themselves. And I have written at least two of those. |Randell Jesup, Keeper of AmigaDos, Commodore Engineering. |{uunet|rutgers}!cbmvax!jesup, jesup@cbmvax.cbm.commodore.com BIX: rjesup |Common phrase heard at Amiga Devcon '89: "It's in there!" -Olaf Seibert