]> git.openfabrics.org - ~shefty/rdma-win.git/commitdiff
Refresh of cl_timer
authorSean Hefty <sean.hefty@intel.com>
Tue, 22 Jun 2010 18:27:13 +0000 (11:27 -0700)
committerSean Hefty <sean.hefty@intel.com>
Tue, 22 Jun 2010 18:27:13 +0000 (11:27 -0700)
trunk/core/complib/kernel/cl_timer.c
trunk/inc/kernel/complib/cl_timer_osd.h

index ccbc79440bfc1d8bdb26ed302ad5f6f61e56c08d..ecee4a69082ebf51c3096c3e32ecaad8c3073584 100644 (file)
@@ -49,7 +49,9 @@ __timer_callback(
        p_timer->timeout_time = 0;\r
        cl_spinlock_release( &p_timer->spinlock );\r
 \r
+       KeAcquireGuardedMutex( &p_timer->cb_lock );\r
        (p_timer->pfn_callback)( (void*)p_timer->context );\r
+       KeReleaseGuardedMutex( &p_timer->cb_lock );\r
 }\r
 \r
 \r
@@ -78,6 +80,7 @@ cl_timer_init(
        KeInitializeTimer( &p_timer->timer );\r
        KeInitializeDpc( &p_timer->dpc, __timer_callback, p_timer );\r
        cl_spinlock_init( &p_timer->spinlock );\r
+       KeInitializeGuardedMutex( &p_timer->cb_lock );\r
 \r
        return( CL_SUCCESS );\r
 }\r
index 32fef834124c6df8f67f697d522243e9371b20f7..6817a902244ccfca431841fd018c6dfae07ad878 100644 (file)
@@ -49,6 +49,7 @@ typedef struct _cl_timer
        const void                              *context;\r
        uint64_t                                timeout_time;\r
        cl_spinlock_t                   spinlock;\r
+       KGUARDED_MUTEX                  cb_lock;\r
 \r
 } cl_timer_t;\r
 \r