浏览代码

Add schedule_timeout_killable

Signed-off-by: Matthew Wilcox <willy@linux.intel.com>
Matthew Wilcox 17 年之前
父节点
当前提交
294d5cc233
共有 2 个文件被更改,包括 8 次插入0 次删除
  1. 1 0
      include/linux/sched.h
  2. 7 0
      kernel/timer.c

+ 1 - 0
include/linux/sched.h

@@ -314,6 +314,7 @@ extern int in_sched_functions(unsigned long addr);
 #define	MAX_SCHEDULE_TIMEOUT	LONG_MAX
 extern signed long FASTCALL(schedule_timeout(signed long timeout));
 extern signed long schedule_timeout_interruptible(signed long timeout);
+extern signed long schedule_timeout_killable(signed long timeout);
 extern signed long schedule_timeout_uninterruptible(signed long timeout);
 asmlinkage void schedule(void);
 

+ 7 - 0
kernel/timer.c

@@ -1100,6 +1100,13 @@ signed long __sched schedule_timeout_interruptible(signed long timeout)
 }
 EXPORT_SYMBOL(schedule_timeout_interruptible);
 
+signed long __sched schedule_timeout_killable(signed long timeout)
+{
+	__set_current_state(TASK_KILLABLE);
+	return schedule_timeout(timeout);
+}
+EXPORT_SYMBOL(schedule_timeout_killable);
+
 signed long __sched schedule_timeout_uninterruptible(signed long timeout)
 {
 	__set_current_state(TASK_UNINTERRUPTIBLE);