From 210b13026dd257e1bd90f3cdf540ea06a2a157ca Mon Sep 17 00:00:00 2001 From: Sean Hefty Date: Tue, 22 Jun 2010 11:27:13 -0700 Subject: [PATCH] Refresh of cl_timer --- trunk/core/complib/kernel/cl_timer.c | 3 +++ trunk/inc/kernel/complib/cl_timer_osd.h | 1 + 2 files changed, 4 insertions(+) diff --git a/trunk/core/complib/kernel/cl_timer.c b/trunk/core/complib/kernel/cl_timer.c index ccbc7944..ecee4a69 100644 --- a/trunk/core/complib/kernel/cl_timer.c +++ b/trunk/core/complib/kernel/cl_timer.c @@ -49,7 +49,9 @@ __timer_callback( p_timer->timeout_time = 0; cl_spinlock_release( &p_timer->spinlock ); + KeAcquireGuardedMutex( &p_timer->cb_lock ); (p_timer->pfn_callback)( (void*)p_timer->context ); + KeReleaseGuardedMutex( &p_timer->cb_lock ); } @@ -78,6 +80,7 @@ cl_timer_init( KeInitializeTimer( &p_timer->timer ); KeInitializeDpc( &p_timer->dpc, __timer_callback, p_timer ); cl_spinlock_init( &p_timer->spinlock ); + KeInitializeGuardedMutex( &p_timer->cb_lock ); return( CL_SUCCESS ); } diff --git a/trunk/inc/kernel/complib/cl_timer_osd.h b/trunk/inc/kernel/complib/cl_timer_osd.h index 32fef834..6817a902 100644 --- a/trunk/inc/kernel/complib/cl_timer_osd.h +++ b/trunk/inc/kernel/complib/cl_timer_osd.h @@ -49,6 +49,7 @@ typedef struct _cl_timer const void *context; uint64_t timeout_time; cl_spinlock_t spinlock; + KGUARDED_MUTEX cb_lock; } cl_timer_t; -- 2.46.0