)]}'
{
  "commit": "e7718b82b5aa66d830d22665b855c549f842dd6f",
  "tree": "60662220e565c8605477b5f2348f58bdccbaf10d",
  "parents": [
    "56d24c1caebecdda60d1c47e603abc52f682e159"
  ],
  "author": {
    "name": "Maxim Dounin",
    "email": "mdounin@mdounin.ru",
    "time": "Thu Sep 01 20:05:23 2016 +0300"
  },
  "committer": {
    "name": "Maxim Dounin",
    "email": "mdounin@mdounin.ru",
    "time": "Thu Sep 01 20:05:23 2016 +0300"
  },
  "message": "Event pipe: do not set file\u0027s thread_handler if not needed.\n\nThis fixes a problem with aio threads and sendfile with aio_write switched\noff, as observed with range requests after fc72784b1f52 (1.9.13).  Potential\nproblems with sendfile in threads were previously described in 9fd738b85fad,\nand this seems to be one of them.\n\nThe problem occurred as file\u0027s thread_handler was set to NULL by event pipe\ncode after a sendfile thread task was scheduled.  As a result, no sendfile\ncompletion code was executed, and the same buffer was additionally sent\nusing non-threaded sendfile.  Fix is to avoid modifying file\u0027s thread_handler\nif aio_write is switched off.\n\nNote that with \"aio_write on\" it is still possible that sendfile will use\nthread_handler as set by event pipe.  This is believed to be safe though,\nas handlers used are compatible.\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "9816467922a0cd6b104085a894873d40d36c2383",
      "old_mode": 33188,
      "old_path": "src/event/ngx_event_pipe.c",
      "new_id": "249433adcfeeef570a4887ccf210ed1c3e47cac3",
      "new_mode": 33188,
      "new_path": "src/event/ngx_event_pipe.c"
    }
  ]
}
