|
@@ -1133,7 +1133,7 @@ pause:
|
|
|
pages_dirtied,
|
|
|
pause,
|
|
|
start_time);
|
|
|
- __set_current_state(TASK_UNINTERRUPTIBLE);
|
|
|
+ __set_current_state(TASK_KILLABLE);
|
|
|
io_schedule_timeout(pause);
|
|
|
|
|
|
dirty_thresh = hard_dirty_limit(dirty_thresh);
|
|
@@ -1145,6 +1145,9 @@ pause:
|
|
|
*/
|
|
|
if (nr_dirty < dirty_thresh)
|
|
|
break;
|
|
|
+
|
|
|
+ if (fatal_signal_pending(current))
|
|
|
+ break;
|
|
|
}
|
|
|
|
|
|
if (!dirty_exceeded && bdi->dirty_exceeded)
|