)]}'
{
  "commit": "1e885b25275fb6763eb947b1e53b2d6911b967a8",
  "tree": "aaf5aace44cbabf2b71d4b7219bce47f622e6cf9",
  "parents": [
    "b9a7cfee1280cc70ba0db2eb528ea3e5a072c80e"
  ],
  "author": {
    "name": "Paolo Bonzini",
    "email": "pbonzini@redhat.com",
    "time": "Mon Apr 08 15:03:15 2013 +0200"
  },
  "committer": {
    "name": "Anthony Liguori",
    "email": "aliguori@us.ibm.com",
    "time": "Mon Apr 08 10:38:41 2013 -0500"
  },
  "message": "qemu-char: really fix behavior on can_read \u003d 0\n\nI misread the glib manual, g_source_remove does not let you re-attach\nthe source later.  This behavior (called \"blocking\" the source in glib)\nis present in glib\u0027s source code, but private and not available outside\nglib; hence, we have to resort to re-creating the source every time.\n\nIn fact, g_source_remove and g_source_destroy are the same thing,\nexcept g_source_destroy is O(1) while g_source_remove scans a potentially\nvery long list of GSources in the current main loop.  Ugh.  Better\nuse g_source_destroy explicitly, and leave \"tags\" to those dummies who\ncannot track their pointers\u0027 lifetimes.\n\nSigned-off-by: Paolo Bonzini \u003cpbonzini@redhat.com\u003e\nMessage-id: 1365426195-12596-1-git-send-email-pbonzini@redhat.com\nSigned-off-by: Anthony Liguori \u003caliguori@us.ibm.com\u003e\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "dd410ce40fc82161a6022e1c674404db76474679",
      "old_mode": 33188,
      "old_path": "qemu-char.c",
      "new_id": "eae17fc61cc6c8080c810a0f8e4ffc2e2dd7b436",
      "new_mode": 33188,
      "new_path": "qemu-char.c"
    }
  ]
}
