d8fcc8a825
The flag main purpose is to avoid race conditions between event handler and cancel_timer(). However, cancel_timer() is safe even without using gSchedulerLock. If the event is scheduled to happen on other CPU than the CPU that invokes cancel_timer() then cancel_timer() either disables the event before its handler starts executing or waits until the event handler is done. If the event is scheduled on the same CPU that calls cancel_timer() then, since cancel_timer() disables interrupts, the event is either executed before cancel_timer() or when the timer interrupt handler starts running the event is already disabled. |
||
---|---|---|
.. | ||
arch | ||
boot | ||
disk_device_manager | ||
fs | ||
platform | ||
posix | ||
slab | ||
util | ||
vm | ||
AllocationTracking.h | ||
block_cache.h | ||
boot_device.h | ||
boot_item.h | ||
boot_splash.h | ||
commpage.h | ||
condition_variable.h | ||
console.h | ||
cpu.h | ||
debug_heap.h | ||
debug_paranoia.h | ||
debug.h | ||
debugger_keymaps.h | ||
DPC.h | ||
elf_priv.h | ||
elf.h | ||
file_cache.h | ||
frame_buffer_console.h | ||
generic_syscall.h | ||
heap.h | ||
int.h | ||
kdevice_manager.h | ||
kdriver_settings.h | ||
kernel_c++_structs.h | ||
kernel_daemon.h | ||
kernel.h | ||
kimage.h | ||
kmodule.h | ||
kscheduler.h | ||
ksignal.h | ||
ksyscalls.h | ||
ksystem_info.h | ||
listeners.h | ||
lock.h | ||
low_resource_manager.h | ||
messaging.h | ||
MessagingServiceDefs.h | ||
Notifications.h | ||
port.h | ||
real_time_clock.h | ||
RunQueueLink.h | ||
safemode.h | ||
scheduling_analysis.h | ||
sem.h | ||
smp.h | ||
syscall_restart.h | ||
system_profiler.h | ||
team.h | ||
thread_types.h | ||
thread.h | ||
timer.h | ||
tracing.h | ||
user_atomic.h | ||
user_debugger.h | ||
user_mutex.h | ||
UserEvent.h | ||
usergroup.h | ||
UserTimer.h | ||
vfs.h | ||
wait_for_objects.h |