| Index: base/task_scheduler/task_tracker.cc
 | 
| diff --git a/base/task_scheduler/task_tracker.cc b/base/task_scheduler/task_tracker.cc
 | 
| index d06a84dc1f47dd7a4cb16f4463a4fa0c486a6dca..50ff5cd8d987c818595e8c179bd2b13dc812049b 100644
 | 
| --- a/base/task_scheduler/task_tracker.cc
 | 
| +++ b/base/task_scheduler/task_tracker.cc
 | 
| @@ -220,11 +220,12 @@ bool TaskTracker::RunTask(std::unique_ptr<Task> task,
 | 
|  
 | 
|    if (can_run_task) {
 | 
|      // All tasks run through here and the scheduler itself doesn't use
 | 
| -    // singletons. Therefore, it isn't necessary to reset the singleton allowed
 | 
| -    // bit after running the task.
 | 
| +    // singletons or file I/O. Therefore, it isn't necessary to reset the
 | 
| +    // singleton allowed or file I/O allowed bits after running the task.
 | 
|      ThreadRestrictions::SetSingletonAllowed(
 | 
|          task->traits.shutdown_behavior() !=
 | 
|          TaskShutdownBehavior::CONTINUE_ON_SHUTDOWN);
 | 
| +    ThreadRestrictions::SetIOAllowed(task->traits.with_file_io());
 | 
|  
 | 
|      {
 | 
|        // Set up SequenceToken as expected for the scope of the task.
 | 
| 
 |