Changeset 1809


Ignore:
Timestamp:
Feb 17, 2005, 10:40:05 PM (20 years ago)
Author:
bird
Message:

Applied fix for fork() heap trouble from Lorne.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • TabularUnified trunk/src/emx/src/lib/malloc/initr.c

    • Property cvs2svn:cvs-rev changed from 1.6 to 1.7
    r1808 r1809  
    166166    {
    167167        LIBCLOG_MSG("Unlocking the heaps.\n");
    168         if (_um_tiled_heap)
    169             _fmutex_release_fork(&_um_tiled_heap->fsem);
    170         if (_um_high_heap)
    171             _fmutex_release_fork(&_um_high_heap->fsem);
    172         if (_um_low_heap)
    173             _fmutex_release_fork(&_um_low_heap->fsem);
     168        if (enmCtx == __LIBC_FORK_CTX_PARENT)
     169        {
     170            if (_um_tiled_heap)
     171                _um_heap_unlock(_um_tiled_heap);
     172            if (_um_high_heap)
     173                _um_heap_unlock(_um_high_heap);
     174            if (_um_low_heap)
     175                _um_heap_unlock(_um_low_heap);
     176        }
     177        else
     178        {
     179            if (_um_tiled_heap)
     180                _fmutex_release_fork(&_um_tiled_heap->fsem);
     181            if (_um_high_heap)
     182                _fmutex_release_fork(&_um_high_heap->fsem);
     183            if (_um_low_heap)
     184                _fmutex_release_fork(&_um_low_heap->fsem);
     185        }
    174186        gfForkCleanupDone = 1;
    175187    }
Note: See TracChangeset for help on using the changeset viewer.