Ignore:
Timestamp:
Mar 23, 2000, 8:24:26 PM (25 years ago)
Author:
sandervl
Message:

shared mutex fixes

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/src/user32/HOOK.CPP

    r2948 r3207  
    1 /* $Id: HOOK.CPP,v 1.12 2000-02-29 19:16:11 sandervl Exp $ */
     1/* $Id: HOOK.CPP,v 1.13 2000-03-23 19:24:25 sandervl Exp $ */
    22
    33/*
     
    6262#define CHECK_MAGIC(a) ((a != 0) && (((HOOKDATA *)a)->magic == HOOK_MAGIC))
    6363
     64//NOTE: This must be in the local data segment -> if a shared semaphore was
     65//      created by a different process, the handle returned by DosOpenMutexSem
     66//      will be returned in hGlobalHookMutex
     67static HMTX hGlobalHookMutex = 0;
     68
    6469//Global DLL Data
    6570#pragma data_seg(_GLOBALDATA)
    6671static HANDLE HOOK_systemHooks[WH_NB_HOOKS] = { 0 };
    67 static VMutex systemHookMutex(TRUE);
     72static VMutex systemHookMutex(VMUTEX_SHARED, &hGlobalHookMutex);
    6873#pragma data_seg()
    6974static HANDLE HOOK_threadHooks[WH_NB_HOOKS] = { 0 };
     
    309314    else
    310315    {
    311         systemHookMutex.enter();
     316        systemHookMutex.enter(VMUTEX_WAIT_FOREVER, &hGlobalHookMutex);
    312317        data->next = HOOK_systemHooks[id - WH_MINHOOK];
    313318        HOOK_systemHooks[id - WH_MINHOOK] = (HANDLE)data;
    314         systemHookMutex.leave();
     319        systemHookMutex.leave(&hGlobalHookMutex);
    315320    }
    316321
Note: See TracChangeset for help on using the changeset viewer.