Article # 414, added by Geoworks, historical record
| first | previous | index | next | last |

Will Mem.. routines move locked blocks?



Q. Is it possible that MemAlloc(), MemLock() or MemUnlock() routine
   moves an object meaning that I have to dereference pself after
   the call like I do after @send, @call or ObjInstantiate() ?

A. No. MemAlloc() and MemLock() can cause unlocked blocks to move on the
   global heap, but not locked blocks. If an object is executing code
   (e.g. one of its handlers was called), then the object's block must
   be locked on the global heap, so MemLock() and MemAlloc() will not
   cause the object block to move.