VirtualBox

Ignore:
Timestamp:
Oct 17, 2011 2:51:37 PM (14 years ago)
Author:
vboxsync
svn:sync-xref-src-repo-rev:
74410
Message:

timer-r0drv-linux.c: Make 100% sure we ever call del_timer_sync while in atomic or interrupt context.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/src/VBox/Runtime/r0drv/linux/timer-r0drv-linux.c

    r39004 r39007  
    14061406    AssertReturn(pTimer->u32Magic == RTTIMER_MAGIC, VERR_INVALID_HANDLE);
    14071407    RTTIMERLNX_LOG(("destroy %p\n", pTimer));
     1408/** @todo We should invalidate the magic here! */
    14081409
    14091410    /*
     
    14511452
    14521453    if (fCanDestroy)
    1453         rtTimerLnxDestroyIt(pTimer);
     1454    {
     1455        /* For paranoid reasons, defer actually destroying the semaphore when
     1456           in atomic or interrupt context. */
     1457        if (in_atomic() || in_interrupt())
     1458            rtR0LnxWorkqueuePush(&pTimer->DtorWorkqueueItem, rtTimerLnxDestroyDeferred);
     1459        else
     1460            rtTimerLnxDestroyIt(pTimer);
     1461    }
    14541462
    14551463    return VINF_SUCCESS;
Note: See TracChangeset for help on using the changeset viewer.

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