)]}'
{
  "commit": "49eddd2337228f3008449ea7d8b2078e17b5ac3a",
  "tree": "de1673636b459bd5f057c4c90a25ff1ebaceb24b",
  "parents": [
    "b34b04dd09a9ce7acc88999961eeaee992431470"
  ],
  "author": {
    "name": "Maxim Dounin",
    "email": "mdounin@mdounin.ru",
    "time": "Tue Apr 19 17:18:28 2016 +0300"
  },
  "committer": {
    "name": "Maxim Dounin",
    "email": "mdounin@mdounin.ru",
    "time": "Tue Apr 19 17:18:28 2016 +0300"
  },
  "message": "Thread pools: memory barriers in task completion notifications.\n\nThe ngx_thread_pool_done object isn\u0027t volatile, and at least some\ncompilers assume that it is permitted to reorder modifications of\nvolatile and non-volatile objects.  Added appropriate ngx_memory_barrier()\ncalls to make sure all modifications will happen before the lock is released.\n\nReported by Mindaugas Rasiukevicius,\nhttp://mailman.nginx.org/pipermail/nginx-devel/2016-April/008160.html.\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "03530851adb902eb0752c1d8d8330897a2d1d8ca",
      "old_mode": 33188,
      "old_path": "src/core/ngx_thread_pool.c",
      "new_id": "f3655aa0bea1f1064150ccee2fe2837dcc27da25",
      "new_mode": 33188,
      "new_path": "src/core/ngx_thread_pool.c"
    }
  ]
}
