)]}'
{
  "commit": "76f93fc92262350d89efa19b31b50459a5191354",
  "tree": "856ad57f9a377a3034fe8f553e8cf507a7c639f2",
  "parents": [
    "11c6243fd978383e1abd42a061d25ee4aa1e1082"
  ],
  "author": {
    "name": "Maxim Dounin",
    "email": "mdounin@mdounin.ru",
    "time": "Fri Dec 27 19:43:01 2019 +0300"
  },
  "committer": {
    "name": "Maxim Dounin",
    "email": "mdounin@mdounin.ru",
    "time": "Fri Dec 27 19:43:01 2019 +0300"
  },
  "message": "SSL: reworked posted next events again.\n\nPrevious change 1ce3f01a4355 incorrectly introduced processing of the\nngx_posted_next_events queue at the end of operation, effectively making\nposted next events a nop, since at the end of an event loop iteration\nthe queue is always empty.  Correct approach is to move events to the\nngx_posted_events queue at an iteration start, as it was done previously.\n\nFurther, in some cases the c-\u003eread event might be already in the\nngx_posted_events queue, and calling ngx_post_event() with the\nngx_posted_next_events queue won\u0027t do anything.  To make sure the event\nwill be correctly placed into the ngx_posted_next_events queue\nwe now check if it is already posted.\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "54ab605e37ec81c960be5f9942a80ae37b36e11f",
      "old_mode": 33188,
      "old_path": "src/event/ngx_event.c",
      "new_id": "402a7f5e28e4c5382e3ad7ddfa5dbdbe625a3d38",
      "new_mode": 33188,
      "new_path": "src/event/ngx_event.c"
    },
    {
      "type": "modify",
      "old_id": "6a0e8c0ad4da70aa46d1b8ede117cb71cd344574",
      "old_mode": 33188,
      "old_path": "src/event/ngx_event_openssl.c",
      "new_id": "91b415caa8e2f368e336c414a64b191a35d0cac1",
      "new_mode": 33188,
      "new_path": "src/event/ngx_event_openssl.c"
    },
    {
      "type": "modify",
      "old_id": "125bf4c677243f8584b2ad52fdfbc14818f4a5e4",
      "old_mode": 33188,
      "old_path": "src/event/ngx_event_posted.c",
      "new_id": "fa575bd87f1c1cdc41b9ac12e65d66f7b7c65b51",
      "new_mode": 33188,
      "new_path": "src/event/ngx_event_posted.c"
    },
    {
      "type": "modify",
      "old_id": "de0a8045408720e588fc213fa7281c5e69345407",
      "old_mode": 33188,
      "old_path": "src/event/ngx_event_posted.h",
      "new_id": "b1a85c442450918dfeb7fc0a58faef4bd6057794",
      "new_mode": 33188,
      "new_path": "src/event/ngx_event_posted.h"
    }
  ]
}
