)]}'
{
  "commit": "5a34dbb55994ddb8e3f4cc465abbb85aa2e6dfaf",
  "tree": "51a0fd55429f1fa8b82f5b2e261b4f2c9b3b33ad",
  "parents": [
    "43552994c468d37d1e0e81b9f759338dcdbc5cc0",
    "f563a5d7a820424756f358e747238f03e866838a"
  ],
  "author": {
    "name": "Anthony Liguori",
    "email": "aliguori@us.ibm.com",
    "time": "Thu Nov 01 11:13:39 2012 -0500"
  },
  "committer": {
    "name": "Anthony Liguori",
    "email": "aliguori@us.ibm.com",
    "time": "Thu Nov 01 11:13:39 2012 -0500"
  },
  "message": "Merge remote-tracking branch \u0027bonzini/threadpool\u0027 into staging\n\n* bonzini/threadpool: (39 commits)\n  raw-win32: implement native asynchronous I/O\n  raw-posix: move linux-aio.c to block/\n  raw-win32: add emulated AIO support\n  raw-posix: rename raw-posix-aio.h, hide unavailable prototypes\n  raw: merge posix-aio-compat.c into block/raw-posix.c\n  block: switch posix-aio-compat to threadpool\n  threadpool: do not take lock in event_notifier_ready\n  aio: add generic thread-pool facility\n  qemu-thread: add QemuSemaphore\n  linux-aio: use event notifiers\n  aio: clean up now-unused functions\n  main-loop: use aio_notify for qemu_notify_event\n  main-loop: use GSource to poll AIO file descriptors\n  aio: call aio_notify after setting I/O handlers\n  aio: add aio_notify\n  aio: make AioContexts GSources\n  aio: add Win32 implementation\n  aio: prepare for introducing GSource-based dispatch\n  aio: add non-blocking variant of aio_wait\n  aio: test node-\u003edeleted before calling io_flush\n  ...\n\nSigned-off-by: Anthony Liguori \u003caliguori@us.ibm.com\u003e\n",
  "tree_diff": []
}
