mm3d+@andrew.cmu.edu (Matt McNally) (12/07/89)
I seem to have lost my grip while dealing with the segment *manager*. It seems that for two of my six code segments that when I call UnLoadSeg(@SomeSegProc) that segment is NOT UnLocked by the resource manager. Is there anything I'm missing about using UnLoadSeg? I was under the impression that it simply unlocked the code segment that contained the linked module (function or procedure) passed via a pointer. For the record: I'm only unloading segments from within the 'Main' segment, so I'm not concerned about RTSing back to obilivion. I'm using MPW 3.0 Pascal, and the '{$S segName}' compiler directives to segment the project. The code looks that's confusing me looks something like this - DebugStr('Do a HD in Maxbugs before Unloading..'); UnLoadSeg(@foo); {Works fine, the sement that contains 'foo' is Unlocked.} UnLoadSeg(@bar); {Remains locked ! Arrrrrrgh.} UnLoadSeg(@bip); {Works fine....} DebugStr('Do a HD in Maxbugs after Unloading..'); Note: The second heap dump shows the segments that contain foo and bip are unlocked, but bar's segment remains locked. Hmmmm... Any comments would be greatly appreciated, =-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-= Matt M. McNally - 'Macintosh II Project' Research Programmer/Dugan Carnegie Mellon, H&SS Dean's Office, Pittsburgh 15213 mm3d@andrew.cmu.edu | Baker Hall 369B, (412) 268-6990 =-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=