)]}'
{
  "commit": "db9f1bbd0a95cdcebbf8424122633eccb2ea17a2",
  "tree": "e67fc51b70f5a3d271e953a9fa2cc5355a28eef7",
  "parents": [
    "c77d5ade84b7e09fec2a2f4f1e339385238b4c28"
  ],
  "author": {
    "name": "Barret Rhoden",
    "email": "brho@cs.berkeley.edu",
    "time": "Tue Aug 22 14:21:23 2017 -0400"
  },
  "committer": {
    "name": "Barret Rhoden",
    "email": "brho@cs.berkeley.edu",
    "time": "Tue Aug 22 16:14:49 2017 -0400"
  },
  "message": "parlib: Prevent running ctors twice\n\nPreviously, we only were protecting vcore_lib_init() and\nuthread_lib_init().  However, there are other ctors out there, some of\nwhich have external effects (devalarm).\n\nSigned-off-by: Barret Rhoden \u003cbrho@cs.berkeley.edu\u003e\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "00d7eeae7a1583493619d1119dbf951f0f5e82c2",
      "old_mode": 33188,
      "old_path": "user/parlib/alarm.c",
      "new_id": "54eaad4c819d5693cc50226ea932c28f360fdfad",
      "new_mode": 33188,
      "new_path": "user/parlib/alarm.c"
    },
    {
      "type": "modify",
      "old_id": "ecac76ca5f9f091774b9bfd3932048b0b64e1e03",
      "old_mode": 33188,
      "old_path": "user/parlib/panic.c",
      "new_id": "dc796f5edeac24e41b1a2a2ff361e6e5e961304c",
      "new_mode": 33188,
      "new_path": "user/parlib/panic.c"
    },
    {
      "type": "modify",
      "old_id": "d19ab95672213c4359b33a9ddb40958104093a8a",
      "old_mode": 33188,
      "old_path": "user/parlib/vcore_tick.c",
      "new_id": "fcd9e1d3e029931ba398bbc54199991e430c017b",
      "new_mode": 33188,
      "new_path": "user/parlib/vcore_tick.c"
    }
  ]
}
