)]}'
{
  "commit": "0f5f4cb1805e70c8fab3bcd13e18ad24670b47ba",
  "tree": "dc6f50cbf63af9a9fe92317497f83910f1aeef1d",
  "parents": [
    "b7af402cc40136db0a7b03af6a380eb405cb0910"
  ],
  "author": {
    "name": "Maxim Dounin",
    "email": "mdounin@mdounin.ru",
    "time": "Tue Oct 11 18:00:23 2011 +0000"
  },
  "committer": {
    "name": "Maxim Dounin",
    "email": "mdounin@mdounin.ru",
    "time": "Tue Oct 11 18:00:23 2011 +0000"
  },
  "message": "Fix for socket leak with \"aio sendfile\" and \"limit_rate\".\n\nSecond aio post happened when timer set by limit_rate expired while we have\naio request in flight, resulting in \"second aio post\" alert and socket leak.\n\nThe patch adds actual protection from aio calls with r-\u003eaio already set to\naio sendfile code in ngx_http_copy_filter().  This should fix other cases\nas well, e.g. when sending buffered to disk upstream replies while still\ntalking to upstream.\n\nThe ngx_http_writer() is also fixed to handle the above case (though it\u0027s\nmostly optimization now).\n\nReported by Oleksandr V. Typlyns\u0027kyi.\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "2eb6487d81b2b162a87b5c6effa75459eb59704d",
      "old_mode": 33188,
      "old_path": "src/http/ngx_http_copy_filter_module.c",
      "new_id": "0f9917e2e8d4323a75e6cfceaa28f9d06735e67b",
      "new_mode": 33188,
      "new_path": "src/http/ngx_http_copy_filter_module.c"
    },
    {
      "type": "modify",
      "old_id": "c1f806ab6bb7c8cc48e762c4b0376a64e29bb91b",
      "old_mode": 33188,
      "old_path": "src/http/ngx_http_request.c",
      "new_id": "c0d56ecaaf67522e9cb0e38169701615471d46ca",
      "new_mode": 33188,
      "new_path": "src/http/ngx_http_request.c"
    }
  ]
}
