Skip to content

Commit 6fa06ff

Browse files
authored
fix: 在插入新的timer时,边界条件判断不正确的问题 (DragonOS-Community#1091)
修复split_pos 初始值错误导致原本应该被插入到链表末尾的定时器,插入到了链表头 Signed-off-by: longjin <[email protected]>
1 parent 597315b commit 6fa06ff

File tree

2 files changed

+3
-2
lines changed

2 files changed

+3
-2
lines changed

.gitignore

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -18,4 +18,5 @@ cppcheck.xml
1818
/target/
1919
Cargo.lock
2020
.cache
21-
compile_commands.json
21+
compile_commands.json
22+
/logs/

kernel/src/time/timer.rs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -157,7 +157,7 @@ impl Timer {
157157
let expire_jiffies = inner_guard.expire_jiffies;
158158
let self_arc = inner_guard.self_ref.upgrade().unwrap();
159159
drop(inner_guard);
160-
let mut split_pos: usize = 0;
160+
let mut split_pos: usize = timer_list.len();
161161
for (pos, elt) in timer_list.iter().enumerate() {
162162
if Arc::ptr_eq(&self_arc, &elt.1) {
163163
warn!("Timer already in list");

0 commit comments

Comments
 (0)