)]}'
{
  "commit": "8a04e95834aa26c6f2ed39a0ba4d45843cca3ad0",
  "tree": "d76356c1b62fa4a12f1a714dfba12bd0920097a8",
  "parents": [
    "f30094e2f4a01ea1e31c4efcccc397c212309c7e"
  ],
  "author": {
    "name": "Maxim Dounin",
    "email": "mdounin@mdounin.ru",
    "time": "Mon Mar 01 20:00:43 2021 +0300"
  },
  "committer": {
    "name": "Maxim Dounin",
    "email": "mdounin@mdounin.ru",
    "time": "Mon Mar 01 20:00:43 2021 +0300"
  },
  "message": "Improved maximum errno detection.\n\nPreviously, systems without sys_nerr (or _sys_nerr) were handled with an\nassumption that errors start at 0 and continuous.  This is, however, not\nsomething POSIX requires, and not true on some platforms.\n\nNotably, on Linux, where sys_nerr is no longer available for newly linked\nbinaries starting with glibc 2.32, there are gaps in error list, which\nused to stop us from properly detecting maximum errno.  Further, on\nGNU/Hurd errors start at 0x40000001.\n\nWith this change, maximum errno detection is moved to the runtime code,\nnow able to ignore gaps, and also detects the first error if needed.\nThis fixes observed \"Unknown error\" messages as seen on Linux with\nglibc 2.32 and on GNU/Hurd.\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "ff9697a4eaa6203badb0ffb5464bdf4267d3ce3e",
      "old_mode": 33188,
      "old_path": "auto/unix",
      "new_id": "845e41fc6a9eddc71289ba097072ed2075e43d75",
      "new_mode": 33188,
      "new_path": "auto/unix"
    },
    {
      "type": "modify",
      "old_id": "e787b2377edfe89ba5dbae819b4749697c57b5c5",
      "old_mode": 33188,
      "old_path": "src/os/unix/ngx_errno.c",
      "new_id": "b3303bf6f2a21cfb8a8525302bcaf8a04d8095da",
      "new_mode": 33188,
      "new_path": "src/os/unix/ngx_errno.c"
    }
  ]
}
