Changeset 767 for Whitix/branches

Show
Ignore:
Timestamp:
07/09/08 16:23:54 (5 months ago)
Author:
mwhitworth
Message:

Disable preemption when altering manager list.

Files:
1 modified

Legend:

Unmodified
Added
Removed
  • Whitix/branches/fs/arch/i386/mm/virt.c

    r624 r767  
    172172        } 
    173173 
    174         ListAdd(&manager->list,&managerList); 
     174        if (currThread) 
     175                PreemptDisable(); 
     176 
     177        ListAddTail(&manager->list,&managerList); 
     178 
     179        if (currThread) 
     180                PreemptEnable(); 
    175181 
    176182        IrqRestoreFlags(flags); 
     
    211217         * one for safety, as this one will be freed. */ 
    212218 
     219        PreemptDisable(); 
     220 
    213221        if (manager == current->memManager) 
    214222                VirtSetCurrent(&kernelMem); 
     
    227235        VirtUnmapPhysPage((DWORD)vPageDir); 
    228236        ListRemove(&manager->list); 
     237 
     238        PreemptEnable(); 
     239 
    229240        memCacheFree(managerCache,manager); 
    230241