)]}'
{
  "commit": "4ab381061e7891df8bfe6e0a19ff0c35eecc4ee3",
  "tree": "11812a86613483ae34f41db866a0ba590069b95c",
  "parents": [
    "e6c980a37b064bdddbb4758187fee813aeb4ff16"
  ],
  "author": {
    "name": "Barret Rhoden",
    "email": "brho@cs.berkeley.edu",
    "time": "Thu Aug 24 11:28:31 2017 -0400"
  },
  "committer": {
    "name": "Barret Rhoden",
    "email": "brho@cs.berkeley.edu",
    "time": "Fri Aug 25 14:41:49 2017 -0400"
  },
  "message": "Add READ_ONCE and WRITE_ONCE (XCC)\n\nThese aren\u0027t quite the same as Linux\u0027s, in that they don\u0027t handle\nstructs.  Currently we don\u0027t need that, especially in a kernel header.\nThe thing we do need is the atomicity of writes of size up to uintptr_t.\n\nThere are places on both the user and kernel sides where we expect\nwrites to be done atomically, and not torn or otherwise mucked with by\nthe compiler.\n\nReinstall your kernel headers.\n\nSigned-off-by: Barret Rhoden \u003cbrho@cs.berkeley.edu\u003e\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "04b9ddcfd7b0dbcf0ec4410f554da53c61c70e49",
      "old_mode": 33188,
      "old_path": "kern/include/rbtree.h",
      "new_id": "1e1a512e4e0b9556976f44a53fa69e8ba1543b66",
      "new_mode": 33188,
      "new_path": "kern/include/rbtree.h"
    },
    {
      "type": "modify",
      "old_id": "78ec9e25fe0f7776a8f9ee3ec6e1a8ecb5033391",
      "old_mode": 33188,
      "old_path": "kern/include/ros/common.h",
      "new_id": "bb23ca2fcf7945f86eb31485d25ad8ab2ee85c57",
      "new_mode": 33188,
      "new_path": "kern/include/ros/common.h"
    }
  ]
}
