)]}'
{
  "commit": "b7109a0a7595d2cfe0f44c7db285cfd7fd509ddf",
  "tree": "c703fccc66fabdb6b2f6df3a06d644d542962b07",
  "parents": [
    "961b62b6253bb4be260a13847a752399e1228ea8"
  ],
  "author": {
    "name": "Maxim Dounin",
    "email": "mdounin@mdounin.ru",
    "time": "Thu Mar 03 21:14:12 2016 +0300"
  },
  "committer": {
    "name": "Maxim Dounin",
    "email": "mdounin@mdounin.ru",
    "time": "Thu Mar 03 21:14:12 2016 +0300"
  },
  "message": "Fixed sendfile in threads (or with aio preload) and subrequests.\n\nIf sendfile in threads is used, it is possible that multiple\nsubrequests will trigger multiple ngx_linux_sendfile_thread() calls,\nas operations are only serialized in output chain based on r-\u003eaio,\nthat is, on subrequest level.\n\nThis resulted in \"task #N already active\" alerts, in particular, when\nrunning proxy_store.t with \"aio threads; sendfile on;\".\n\nFix is to tolerate duplicate calls, with an additional safety check\nthat the file is the same as previously used.\n\nThe same problem also affects \"aio on; sendfile on;\" on FreeBSD\n(previously known as \"aio sendfile;\"), where aio-\u003epreload_handler()\ncould be called multiple times due to similar reasons, resulting in\n\"second aio post\" alerts.  Fix is the same as well.\n\nIt is also believed that similar problems can arise if a filter\ncalls the next body filter multiple times for some reason.  These are\nmostly theoretical though.\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "3f17dc6e4151fa6f8321df939402780c08e49637",
      "old_mode": 33188,
      "old_path": "src/os/unix/ngx_freebsd_sendfile_chain.c",
      "new_id": "d0299f54fa9c3893e4e910d84864a553a19862c6",
      "new_mode": 33188,
      "new_path": "src/os/unix/ngx_freebsd_sendfile_chain.c"
    },
    {
      "type": "modify",
      "old_id": "97f741d0ae50f30b876bb2de62ff1ef25b972f7d",
      "old_mode": 33188,
      "old_path": "src/os/unix/ngx_linux_sendfile_chain.c",
      "new_id": "9f272225a4df72aa129cd94f75a323d742b38d82",
      "new_mode": 33188,
      "new_path": "src/os/unix/ngx_linux_sendfile_chain.c"
    }
  ]
}
