)]}'
{
  "commit": "8c69e537e966b4dc0a696bc7bf43de62e2d9b423",
  "tree": "35e8d9641b7b244c4ba861501c42d36647146007",
  "parents": [
    "858bcb03d4293a024411578a1e7999cb23f19b3c"
  ],
  "author": {
    "name": "Maxim Dounin",
    "email": "mdounin@mdounin.ru",
    "time": "Sun Apr 02 14:32:26 2017 +0300"
  },
  "committer": {
    "name": "Maxim Dounin",
    "email": "mdounin@mdounin.ru",
    "time": "Sun Apr 02 14:32:26 2017 +0300"
  },
  "message": "Limit req: fixed delaying subrequests.\n\nSince limit_req uses connection\u0027s write event to delay request processing,\nit can conflict with timers in other subrequests.  In particular, even\nif applied to an active subrequest, it can break things if wev-\u003edelayed\nis already set (due to limit_rate or sendfile_max_chunk), since after\nlimit_req finishes the wev-\u003edelayed flag will be set and no timer will be\nactive.\n\nFix is to use the wev-\u003edelayed flag in limit_req as well.  This ensures that\nwev-\u003edelayed won\u0027t be set after limit_req finishes, and also ensures that\nlimit_req\u0027s timers will be properly handled by other subrequests if the one\ndelayed by limit_req is not active.\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "2f695f212633c50a13a4630b8c9bbb3e377ee906",
      "old_mode": 33188,
      "old_path": "src/http/modules/ngx_http_limit_req_module.c",
      "new_id": "4a79b479b679b8e8c86a8f28e50571f0ff1fda2f",
      "new_mode": 33188,
      "new_path": "src/http/modules/ngx_http_limit_req_module.c"
    }
  ]
}
