void unloadMsgs(void) /* called at exit */ { if (msgSegm) { freeBlk(msgSegm); dprintf( ("[Message segment deallocated.]\n") ); } msgSegm = 0; }
/* Remove the string segment from memory */ void unloadMsgs(void) { if (msgSegm) { freeBlk(msgSegm); dprintf( ("[Message segment 0x%04x deallocated.]\n", msgSegm) ); } msgSegm = 0; }
static void freeStk (stk_t* sp) { blk_t* bp; blk_t* nxtbp; for (bp = sp->fstblk->next; bp; bp = nxtbp) { nxtbp = bp->next; freeBlk (bp); } }
void freeSysBlk(unsigned segm) { struct MCB _seg *mcb; assert(segm); mcb = (struct MCB _seg *)SEG2MCB(segm); mcb->mcb_ownerPSP = _psp; freeBlk(segm); dprintf(("[MEM: deallocated system memory block: %04x]\n", segm)); }
void env_delete(word segm) { DBG_ENTER("env_delete", Suppl_env) DBG_ARGUMENTS( ("env=%u", segm) ) chkMem unless_segm(segm) DBG_EXIT DBG_ARGUMENTS( ("effective env=%u", segm) ) pokew(SEG2MCB(segm), MCB_OFF_OWNER, _psp); freeBlk(segm); chkMem /* Make sure the deleted segment won't be referenced */ env_relocateSegment(segm, 0); DBG_EXIT }