)]}'
{
  "commit": "7e022d3a14407746849a4190774ec4a4a9e16043",
  "tree": "8761c4b48f436d848a1cb6e161dcd912ad78ef98",
  "parents": [
    "96ba6720df28f29e8b5e392d89cca4452873b4a1"
  ],
  "author": {
    "name": "Maxim Dounin",
    "email": "mdounin@mdounin.ru",
    "time": "Tue Mar 07 18:51:12 2017 +0300"
  },
  "committer": {
    "name": "Maxim Dounin",
    "email": "mdounin@mdounin.ru",
    "time": "Tue Mar 07 18:51:12 2017 +0300"
  },
  "message": "Access log: removed dead ev-\u003etimedout check in flush timer handler.\n\nThe ev-\u003etimedout flag is set on first timer expiration, and never reset\nafter it.  Due to this the code to stop the timer when the timer was\ncanceled never worked (except in a very specific time frame immediately\nafter start), and the timer was always armed again.  This essentially\nresulted in a buffer flush at the end of an event loop iteration.\n\nThis behaviour actually seems to be better than just stopping the flush\ntimer for the whole shutdown, so it is preserved as is instead of fixing\nthe code to actually remove the timer.  It will be further improved by\nupcoming changes to preserve cancelable timers if there are other timers\nblocking shutdown.\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "ff8572b83e45b2fb0e661b9702bcc295daa138cf",
      "old_mode": 33188,
      "old_path": "src/http/modules/ngx_http_log_module.c",
      "new_id": "330dc7ecf79c304c5ec6bdd910d5787227999f19",
      "new_mode": 33188,
      "new_path": "src/http/modules/ngx_http_log_module.c"
    },
    {
      "type": "modify",
      "old_id": "a4b67d0bf142b86f2355a71bbcc69ebc83e6ff9f",
      "old_mode": 33188,
      "old_path": "src/stream/ngx_stream_log_module.c",
      "new_id": "6b293403f9311cca1464409dc38e7a8d74baee4a",
      "new_mode": 33188,
      "new_path": "src/stream/ngx_stream_log_module.c"
    }
  ]
}
