VirtualBox

Changeset 49470 in vbox for trunk/src/VBox


Ignore:
Timestamp:
Nov 13, 2013 2:58:33 PM (11 years ago)
Author:
vboxsync
Message:

Additions/3D: prevent an OpenGL dead-lock.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/src/VBox/Additions/common/crOpenGL/load.c

    r48487 r49470  
    210210#endif
    211211
     212    /* Try to keep a consistent locking order. */
     213    crHashtableLock(stub.windowTable);
    212214#if defined(CR_NEWWINTRACK) && !defined(WINDOWS)
    213215    crLockMutex(&stub.mutex);
     
    215217
    216218    stubCheckWindowState(context->currentDrawable, GL_TRUE);
    217     crHashtableWalk(stub.windowTable, stubCheckWindowsCB, context);
     219    crHashtableWalkUnlocked(stub.windowTable, stubCheckWindowsCB, context);
    218220
    219221#if defined(CR_NEWWINTRACK) && !defined(WINDOWS)
    220222    crUnlockMutex(&stub.mutex);
    221223#endif
     224    crHashtableUnlock(stub.windowTable);
    222225}
    223226
     
    892895        }
    893896#else
     897        /* Try to keep a consistent locking order. */
     898        crHashtableLock(stub.windowTable);
    894899        crLockMutex(&stub.mutex);
    895         crHashtableWalk(stub.windowTable, stubSyncTrCheckWindowsCB, NULL);
     900        crHashtableWalkUnlocked(stub.windowTable, stubSyncTrCheckWindowsCB, NULL);
    896901        crUnlockMutex(&stub.mutex);
     902        crHashtableUnlock(stub.windowTable);
    897903        RTThreadSleep(50);
    898904#endif
Note: See TracChangeset for help on using the changeset viewer.

© 2024 Oracle Support Privacy / Do Not Sell My Info Terms of Use Trademark Policy Automated Access Etiquette