VirtualBox

Changeset 19919 in vbox for trunk/src


Ignore:
Timestamp:
May 22, 2009 5:02:55 PM (16 years ago)
Author:
vboxsync
svn:sync-xref-src-repo-rev:
47616
Message:

iprt/r0drv: Darwin implementation of RTThreadPreempt*. Stub RTThreadPreemptIsPending on OS/2 and FreeBSD.

Location:
trunk/src/VBox/Runtime
Files:
1 added
3 edited

Legend:

Unmodified
Added
Removed
  • trunk/src/VBox/Runtime/Makefile.kmk

    r19897 r19919  
    11871187        generic/mppresent-generic.cpp \
    11881188        generic/timer-generic.cpp \
    1189         r0drv/generic/RTThreadPreemptIsEnabled-r0drv-generic.cpp \
    1190         r0drv/generic/RTThreadPreemptDisable-r0drv-generic.cpp \
    1191         r0drv/generic/RTThreadPreemptRestore-r0drv-generic.cpp \
    11921189        r0drv/generic/mpnotification-r0drv-generic.cpp \
    11931190        r0drv/darwin/alloc-r0drv-darwin.cpp \
     
    12031200        r0drv/darwin/thread-r0drv-darwin.cpp \
    12041201        r0drv/darwin/thread2-r0drv-darwin.cpp \
     1202        r0drv/darwin/threadpreempt-r0drv-darwin.cpp \
    12051203        r0drv/darwin/time-r0drv-darwin.cpp \
    12061204        r0drv/memobj-r0drv.cpp \
     
    12431241        r0drv/generic/RTMpOn-r0drv-generic.cpp \
    12441242        r0drv/generic/RTThreadPreemptIsEnabled-r0drv-generic.cpp \
     1243        r0drv/generic/RTThreadPreemptIsPending-r0drv-generic.cpp \
    12451244        r0drv/generic/RTThreadPreemptDisable-r0drv-generic.cpp \
    12461245        r0drv/generic/RTThreadPreemptRestore-r0drv-generic.cpp \
     
    12841283        r0drv/generic/RTMpIsCpuWorkPending-r0drv-generic.cpp \
    12851284        r0drv/generic/RTThreadPreemptIsEnabled-r0drv-generic.cpp \
     1285        r0drv/generic/RTThreadPreemptIsPending-r0drv-generic.cpp \
    12861286        r0drv/generic/RTThreadPreemptDisable-r0drv-generic.cpp \
    12871287        r0drv/generic/RTThreadPreemptRestore-r0drv-generic.cpp \
  • trunk/src/VBox/Runtime/r0drv/darwin/initterm-r0drv-darwin.cpp

    r8245 r19919  
    4646
    4747
    48 
    4948int rtR0InitNative(void)
    5049{
     
    5554    AssertReturn(g_pDarwinLockGroup, VERR_NO_MEMORY);
    5655
    57     return VINF_SUCCESS;
     56    /*
     57     * Initialize the preemption hacks.
     58     */
     59    int rc = rtThreadPreemptDarwinInit();
     60    if (RT_FAILURE(rc))
     61        rtR0TermNative();
     62
     63    return rc;
    5864}
    5965
     
    6167void rtR0TermNative(void)
    6268{
     69    /*
     70     * Preemption hacks before the lock group.
     71     */
     72    rtThreadPreemptDarwinTerm();
     73
    6374    /*
    6475     * Free the lock group.
  • trunk/src/VBox/Runtime/r0drv/darwin/the-darwin-kernel.h

    r16354 r19919  
    7979
    8080
     81/* See osfmk/kern/ast.h. */
     82#ifndef AST_PREEMPT
     83# define AST_PREEMPT    UINT32_C(1)
     84# define AST_QUANTUM    UINT32_C(2)
     85# define AST_URGENT     UINT32_C(4)
     86#endif
     87
     88
    8189__BEGIN_DECLS
    8290/* mach/vm_types.h */
     
    121129__BEGIN_DECLS
    122130extern lck_grp_t *g_pDarwinLockGroup;
     131int  rtThreadPreemptDarwinInit(void);
     132void rtThreadPreemptDarwinTerm(void);
    123133__END_DECLS
    124134
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