)]}'
{
  "log": [
    {
      "commit": "d174e386ee55f629244fba35dcb62c44b29266f0",
      "tree": "9af469cfec54c6d78743b7be24876fcbc045153e",
      "parents": [
        "71ff716378840914f4bfc081908e0a63b28e9a49"
      ],
      "author": {
        "name": "Iris Chang",
        "email": "iris.chang@mediatek.com",
        "time": "Wed Dec 04 15:34:18 2019 +0800"
      },
      "committer": {
        "name": "Marissa Wall",
        "email": "marissaw@google.com",
        "time": "Thu Dec 19 14:00:11 2019 -0800"
      },
      "message": "libui: print more fence information when fence is timeout\n\nThe original log is not enough when fence is timeout. It only print\nthe log name and fd. It is useless to help us to check which sync\npoint is abnormal. Then it cause this fence can not be signaled.\nTherefore we print more detail when fence is timeout.\n\nBug: 146024475\nTest: call sleep function in SurfaceFlinger. Then check the fence log\n\nChange-Id: I2e711bfe8f00d7723c2d8e4184e0da5e69c8fc4d\n"
    },
    {
      "commit": "48d7608aa5806192f18e2d572f56a6bc6a10a47c",
      "tree": "53455eef8d6d9ae5ba90298729a6677e96e0f620",
      "parents": [
        "b6c5df1abefa76bfa2f554143c41d7ab6519b765"
      ],
      "author": {
        "name": "Yi Kong",
        "email": "yikong@google.com",
        "time": "Sun Mar 24 02:01:06 2019 -0700"
      },
      "committer": {
        "name": "Yi Kong",
        "email": "yikong@google.com",
        "time": "Sun Mar 24 02:01:06 2019 -0700"
      },
      "message": "[libs/ui] Modernize codebase by replacing NULL with nullptr\n\nFixes -Wzero-as-null-pointer-constant warning.\n\nTest: m\nBug: 68236239\nChange-Id: I240d39ef4328943447149700b3ece371681078d1\n"
    },
    {
      "commit": "e158ca7e4afa05058fa5290f54f26363b3cee46c",
      "tree": "f94ab973d0fe42999d5616c5184e8613aa8eabd5",
      "parents": [
        "0f263e9d0a98765d21d084fc25a318ac0bad3530"
      ],
      "author": {
        "name": "Jesse Hall",
        "email": "jessehall@google.com",
        "time": "Fri May 18 15:58:23 2018 -0700"
      },
      "committer": {
        "name": "Jesse Hall",
        "email": "jessehall@google.com",
        "time": "Fri May 18 15:58:23 2018 -0700"
      },
      "message": "Fence: use modern sync info API\n\nThe old sync info API based on the legacy staging Android sync uapi is\ndeprecated; stop using it here so it can eventually be removed.\n\nBug: 35326015\nTest: adb shell dumpsys SurfaceFlinger --latency\nChange-Id: Ida58adb0f0057485d3768b959697b4d583abd80b\n"
    },
    {
      "commit": "df1baddb6f4a13e7253ca547549b3157725c3121",
      "tree": "3b6526b0c753139f170f8d15b25fadc881c9e6dc",
      "parents": [
        "4d85b8c0a38c14f854af8ff85391b7a8d1170d5b"
      ],
      "author": {
        "name": "Chia-I Wu",
        "email": "olv@google.com",
        "time": "Wed Dec 27 11:10:20 2017 -0800"
      },
      "committer": {
        "name": "Chia-I Wu",
        "email": "olv@google.com",
        "time": "Wed Dec 27 12:43:33 2017 -0800"
      },
      "message": "libui: use unique_fd in Fence\n\nUse unique_fd internally.  Add a constructor to create a Fence from\na unique_fd.\n\nTest: boots\nChange-Id: I36e7a337885a6559ed6fe82c56b718f56108aaf8\n"
    },
    {
      "commit": "8f47ce8194f80092a08b1e36475b2695280688eb",
      "tree": "6c2aad2c214a8cd9fff002e87d8d66f5684c139d",
      "parents": [
        "c0e6fa641bc5eb749dd94fc40b0a79070fd14ca7",
        "eb576150d52a451f596a1e09fc06cee025a62a53"
      ],
      "author": {
        "name": "Chris Forbes",
        "email": "chrisforbes@google.com",
        "time": "Tue May 16 19:55:13 2017 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Tue May 16 19:55:13 2017 +0000"
      },
      "message": "Merge \"ui: Fix bad size check in Fence::unflatten\" into klp-dev am: 25556811f0 am: 71d3ef1340 am: 5c5ee81b0c am: 05df3a6f4d am: 81bab8081e am: 209ad9b6fe am: d4cbd296d6 am: 593a1a217a am: e3bc28ad88 am: 600e610344 am: ce069c5a07 am: a078c0780c am: 1ceadac71b am: 912ff8af49 am: 161a9bcda1\nam: eb576150d5\n\nChange-Id: If60dd4fa06a11aa72671573784c0d7774ae4c3ec\n"
    },
    {
      "commit": "912ff8af49167529afd18d0c9d1da958a544b36b",
      "tree": "37740685655d37cee831ffcf65bb45e48c954eab",
      "parents": [
        "380e1aa3e97d826062eff15e64cab82aedbb80c9",
        "1ceadac71b38debd2f69ab75bda01e8e0febd8bc"
      ],
      "author": {
        "name": "Chris Forbes",
        "email": "chrisforbes@google.com",
        "time": "Tue May 16 19:46:11 2017 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Tue May 16 19:46:11 2017 +0000"
      },
      "message": "Merge \"ui: Fix bad size check in Fence::unflatten\" into klp-dev am: 25556811f0 am: 71d3ef1340 am: 5c5ee81b0c am: 05df3a6f4d am: 81bab8081e am: 209ad9b6fe am: d4cbd296d6 am: 593a1a217a am: e3bc28ad88 am: 600e610344 am: ce069c5a07 am: a078c0780c\nam: 1ceadac71b\n\nChange-Id: I89b2e528d27938fa6bae79b3e6baa8e89d7207dd\n"
    },
    {
      "commit": "d4cbd296d66d788fd1867d21cae3b4df37fe93b9",
      "tree": "9afa603c845b2361ade33526a9cc803a197a7716",
      "parents": [
        "2c86168b51c4d790b8fc6dfa3bd28f3450f36e47",
        "209ad9b6feb103eed399d446221bec59ccb8ce07"
      ],
      "author": {
        "name": "Chris Forbes",
        "email": "chrisforbes@google.com",
        "time": "Tue May 16 19:24:11 2017 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Tue May 16 19:24:11 2017 +0000"
      },
      "message": "Merge \"ui: Fix bad size check in Fence::unflatten\" into klp-dev am: 25556811f0 am: 71d3ef1340 am: 5c5ee81b0c am: 05df3a6f4d am: 81bab8081e\nam: 209ad9b6fe\n\nChange-Id: I31fe784570c5978faf7484b3f71a074523c0d33c\n"
    },
    {
      "commit": "05df3a6f4d332448aab30a83204551424c114479",
      "tree": "31c0d4c045950782e443da7f2c93d9e38a157801",
      "parents": [
        "bec844f6d4661325b3f925073876b381882d3e73",
        "5c5ee81b0cf203a22475c299819fb2418015260c"
      ],
      "author": {
        "name": "Chris Forbes",
        "email": "chrisforbes@google.com",
        "time": "Tue May 16 19:15:38 2017 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Tue May 16 19:15:38 2017 +0000"
      },
      "message": "Merge \"ui: Fix bad size check in Fence::unflatten\" into klp-dev am: 25556811f0 am: 71d3ef1340\nam: 5c5ee81b0c\n\nChange-Id: Ie7ec2067057ea2dbd4b9af0c93a00ba53879b72f\n"
    },
    {
      "commit": "9809602ac32dcb7bceaa5bc34df5b7fb68aacd38",
      "tree": "a55bf742ea6a2bfdc4add2451350794081ab5e6d",
      "parents": [
        "2ae83f4f628d4da96f363d0668380ba1f753b867"
      ],
      "author": {
        "name": "Chris Forbes",
        "email": "chrisforbes@google.com",
        "time": "Wed May 10 13:12:00 2017 -0700"
      },
      "committer": {
        "name": "Chris Forbes",
        "email": "chrisforbes@google.com",
        "time": "Tue May 16 18:30:27 2017 +0000"
      },
      "message": "ui: Fix bad size check in Fence::unflatten\n\nDiffers slightly from mnc+ patch: GetFlattenedSize was fixed in mnc.\n\nTest: Boot device, run poc from bug, observe no longer crashes\nBug: 37285689\nChange-Id: Id8b851733b088cce0d07493fbf76e7e24f9299ad\n"
    },
    {
      "commit": "175a7206c5aea70236b916d7707ab25025eb9cd6",
      "tree": "a1dc76f1ffe58f2717f64eb3c354559c2035abfa",
      "parents": [
        "3da8d2748580b2575e368e203ce2c7f8d34dea05"
      ],
      "author": {
        "name": "Brian Anderson",
        "email": "brianderson@google.com",
        "time": "Mon Oct 10 16:52:56 2016 -0700"
      },
      "committer": {
        "name": "Brian Anderson",
        "email": "brianderson@google.com",
        "time": "Thu Jan 12 10:40:55 2017 -0800"
      },
      "message": "Clean up Fence a little.\n\nTest: Cleanup patch only. Fences still work.\n\nChange-Id: I65e5cdf5e3c067bc475c085ab6d3577d9753231c\n"
    },
    {
      "commit": "221de2a33d456738f7f64db0b015a960211d4834",
      "tree": "0ad10e90d9193386452ee568eafba8bbc3735481",
      "parents": [
        "7c3ba8aa288755fad78ddbabcee0ad5a0610ac1c"
      ],
      "author": {
        "name": "Brian Anderson",
        "email": "brianderson@google.com",
        "time": "Wed Sep 21 16:53:28 2016 -0700"
      },
      "committer": {
        "name": "Brian Anderson",
        "email": "brianderson@google.com",
        "time": "Thu Nov 17 11:46:20 2016 -0800"
      },
      "message": "Add Fence helpers: Time, Timeline, Snapshot\n\nFenceTime will be used to:\n1) Cache and share the result of a Fence\u0027s getSignalTime with\n   all clients that care about it, instead of requiring a\n   syscall for each client.\n2) Allow tests to override the valid state and signalTimes of\n   the underlying fence by acting as a shim.\n\nFenceTimeline will be used to efficiently get the signal\ntimes of Fences without having query for Fences that\nlikely haven\u0027t signaled.\n\nFenceTime::Snapshot is a stable copy of a FenceTime that\ncan be used for serialization since it doesn\u0027t change\nwhile flattening.\n\nTest: adb shell /data/nativetest/libgui_test/libgui_test\n--gtest_filter\u003d*GetFrameTimestamps*\n\nChange-Id: I9a28df7ce797311dc4d56b1147edf590e9de1517\n"
    },
    {
      "commit": "fd4c8c38051f9dad028e4e43e0eb39ba412b2c0a",
      "tree": "e4788b9fbd47754d739ef16aba926738979ac2d8",
      "parents": [
        "3169437feb387b56499208464960d281bd9b87c9"
      ],
      "author": {
        "name": "Matthew Bouyack",
        "email": "mbouyack@google.com",
        "time": "Fri Oct 07 14:26:47 2016 -0700"
      },
      "committer": {
        "name": "Matthew Bouyack",
        "email": "mbouyack@google.com",
        "time": "Fri Oct 07 15:51:19 2016 -0700"
      },
      "message": "Use snprintf for SurfaceFlinger fence name\n\nsnprintf is significantly faster than String8::format\nThis change saves ~50us per frame on Android Wear\n\nChange-Id: I6ac47c2434662ca561208daae232f02a9f136aaf\n"
    },
    {
      "commit": "6fbefbbd8edc9953041289fbd77bb18c4964dce5",
      "tree": "e8a0451bbe1f7ee62a15d5ff910dca7dcd59b090",
      "parents": [
        "a894d082cfee8d12ee5913163a34ec5dc521d005"
      ],
      "author": {
        "name": "Dan Stoza",
        "email": "stoza@google.com",
        "time": "Mon Mar 23 13:46:14 2015 -0700"
      },
      "committer": {
        "name": "Dan Stoza",
        "email": "stoza@google.com",
        "time": "Wed Apr 15 13:04:15 2015 -0700"
      },
      "message": "libui: Clean up Fence and Region flattening\n\nFence was flattening incorrectly, causing issues with any fields\nflattened after it, and Region was relying on being the last object\nflattened. This change addresses both.\n\nChange-Id: If49de061de6e2f11f4d846b4d8c18627dfb7e109\n"
    },
    {
      "commit": "d31824004277f554000417cea349d69f18655e95",
      "tree": "95b7a83c022ad88780a81a58243005db709bc28d",
      "parents": [
        "01049c8321aab30cd431e2febeddd79242ae5a4f"
      ],
      "author": {
        "name": "Dan Stoza",
        "email": "stoza@google.com",
        "time": "Mon Nov 17 12:03:59 2014 -0800"
      },
      "committer": {
        "name": "Dan Albert",
        "email": "danalbert@google.com",
        "time": "Thu Dec 04 17:56:27 2014 -0800"
      },
      "message": "libui: Enable -Weverything and -Werror\n\nEnables -Weverything and -Werror, with just a few exceptions for\nwarnings we can\u0027t (or shouldn\u0027t need to) work around.\n\nChange-Id: I470a267e9b1c373f2d5c960f005c3b0e02b2db63\n(cherry picked from commit 303b9a51239d36d237a7d40c67b5085cdb3c1059)\n"
    },
    {
      "commit": "288f2ef6294b99a4a53355273ae8ad0f5a525f65",
      "tree": "3a808962a1f096af29a1052e9c973298e3d398b7",
      "parents": [
        "27f8840f228abfe5e2458a261ce5403871495a54"
      ],
      "author": {
        "name": "Colin Cross",
        "email": "ccross@android.com",
        "time": "Mon Apr 14 18:43:12 2014 -0700"
      },
      "committer": {
        "name": "Colin Cross",
        "email": "ccross@android.com",
        "time": "Mon Apr 14 19:06:47 2014 -0700"
      },
      "message": "libui: fix passing Fence object over binder\n\nThe Fence object was writing a size_t into the binder buffer\nin flatten, which changes size if the producer and consumer\nare running in a 32-bit and a 64-bit process.  Use a uint32_t\ninstead.\n\nChange-Id: Ifed526513800ce27f9d605101cddd922292cca37\n"
    },
    {
      "commit": "e142428a9c8b9d2380032cd4d7b55ee440fe8770",
      "tree": "7c55a190ef023bc7aba348d040211901448c13d3",
      "parents": [
        "1d76781b7aa19611c4045fdf6b848af6c6094e0b"
      ],
      "author": {
        "name": "Mathias Agopian",
        "email": "mathias@google.com",
        "time": "Mon Jul 29 21:24:40 2013 -0700"
      },
      "committer": {
        "name": "Mathias Agopian",
        "email": "mathias@google.com",
        "time": "Tue Jul 30 21:19:13 2013 -0700"
      },
      "message": "Make Flattenable not virtual\n\nFallout from the Flattenable change, update all its uses.\n\nAdditionnaly, fix/tighten size checks when (un)flatten()ing\nthings.\n\nRemoved the assumption by some flattenables (e.g.: Fence)\nthat the size passed to them would be exact (it can\nand will be larger in some cases)\n\nThe code in Parcel is a bit complicated so that we don\u0027t\nhave to expose the full implementation (and also to\nkeep the code smallish).\n\nChange-Id: I0bf1c8aca2a3128491b4f45510bc46667e566dde\n"
    },
    {
      "commit": "ea74d3b78d607cde17790a7bb83e6f68ffd34cfd",
      "tree": "5f8c6c6905868d4f92c6834ddf46d6e42981116b",
      "parents": [
        "f743e3db27dd639421913ee5e99d7a13ccc236ea"
      ],
      "author": {
        "name": "Mathias Agopian",
        "email": "mathias@google.com",
        "time": "Thu May 16 18:03:22 2013 -0700"
      },
      "committer": {
        "name": "Mathias Agopian",
        "email": "mathias@google.com",
        "time": "Thu May 16 18:15:57 2013 -0700"
      },
      "message": "make the warning timout of Fence::waitForever() implicit and longer\n\n- timeout is now 3 seconds instead of 1\n- simplifies the API a bit\n- allows us to change/tweak this timeout globaly\n\nBug: 8988871\n\nChange-Id: I8d3c6ec43a372f602fb3f29856710339f86c0ec9\n"
    },
    {
      "commit": "1df8c345854155cbbcb9f80de9d12d66ea70ac08",
      "tree": "9e3eedb37edfbb45c323364366ae09ea82ba847d",
      "parents": [
        "351c2941736039c495dd7ac849ec64fbf7f3ff05"
      ],
      "author": {
        "name": "Jamie Gennis",
        "email": "jgennis@google.com",
        "time": "Thu Dec 20 14:05:45 2012 -0800"
      },
      "committer": {
        "name": "Jamie Gennis",
        "email": "jgennis@google.com",
        "time": "Tue Feb 12 18:15:38 2013 -0800"
      },
      "message": "libgui: disallow NULL Fence pointers\n\nThis change eliminates the uses of a NULL sp\u003cFence\u003e indicating that no waiting\nis required.  Instead we use a non-NULL but invalid Fence object for which the\nwait methods will return immediately.\n\nBug: 7892871\nChange-Id: I5360aebe3090422ef6920d56c99fc4eedc642e48\n"
    },
    {
      "commit": "7c36cd231542990e0ef8240fcc8dfd35a9e4b38b",
      "tree": "e006cbec1687bf17393ca2273565e68d001a57ac",
      "parents": [
        "800856a7b7f8d89c1a64955f152549b8f42cd3e0"
      ],
      "author": {
        "name": "Jesse Hall",
        "email": "jessehall@google.com",
        "time": "Mon Jan 14 15:59:32 2013 -0800"
      },
      "committer": {
        "name": "Jesse Hall",
        "email": "jessehall@google.com",
        "time": "Mon Jan 14 16:33:29 2013 -0800"
      },
      "message": "Fix memory leak when getting signal time for unsignaled fences\n\nBug: 8000983\nChange-Id: Ie88ed23fc5e8c95bfade364e090e90b7f070fa8e\n"
    },
    {
      "commit": "82dbc7429f5f9f2b303b31dc5b9f2bfd1bbe6add",
      "tree": "34e41a744b71b39132f5542872aac952c2c2a829",
      "parents": [
        "e64b38fad2cc6686fb6691aaf65c735f505a49a5"
      ],
      "author": {
        "name": "Jamie Gennis",
        "email": "jgennis@google.com",
        "time": "Thu Nov 08 19:23:28 2012 -0800"
      },
      "committer": {
        "name": "Jamie Gennis",
        "email": "jgennis@google.com",
        "time": "Mon Nov 19 17:45:09 2012 -0800"
      },
      "message": "SurfaceFlinger: refactor frame time tracking\n\nThis change moves the frame time history tracking code out of Layer and into a\nnew class called FrameTracker.  It also changes the tracking to use signal\ntimestamps from fences when available for more accurate results.\n\nChange-Id: I323c5f075c58bf86ce363b52af885ad0f6365f2b\n"
    },
    {
      "commit": "b5c9dcdf3bdab1862047060b8e18c9d1831db8bb",
      "tree": "7f29502d0b3e27fcd41e7e511d813426d2369134",
      "parents": [
        "cb55857bbde34a06c19dde3db5064d1717a0173e"
      ],
      "author": {
        "name": "Mathias Agopian",
        "email": "mathias@google.com",
        "time": "Tue Oct 09 14:38:19 2012 -0700"
      },
      "committer": {
        "name": "Mathias Agopian",
        "email": "mathias@google.com",
        "time": "Tue Oct 09 14:38:19 2012 -0700"
      },
      "message": "Fence didn\u0027t manager sync_wait error codes properly\n\nerror codes are returned in errno, this caused ::waitForwever()\nto only wait for 1 second and return improper error code (-1).\n\nneeded to help debugging 7316632\n\nBug: 7316632\nChange-Id: Ie144f614a88393393972a3a770c6b4b0581f961a\n"
    },
    {
      "commit": "ba607d53c6a94ea8c4c12571980c4ad159af308b",
      "tree": "80458eab2d99780520b25b83b5c09ea13461387c",
      "parents": [
        "2ae7bec77093744206080dbae020edfa3bfac2e1"
      ],
      "author": {
        "name": "Jesse Hall",
        "email": "jessehall@google.com",
        "time": "Mon Oct 01 14:05:20 2012 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Oct 02 16:29:46 2012 -0700"
      },
      "message": "Add Fence::waitForever which logs a warning timeout, and use it\n\nBug: 7217641\nChange-Id: If0c1a613ead307c4045a47824174bf40c72bc7d7\n"
    },
    {
      "commit": "d83d67b5d5e98b7f0bdf54b68f6ea28fa4905a33",
      "tree": "6bc8597b19bf03006341a25680ff5e2c7b5a9691",
      "parents": [
        "c666cae2d5995097ec49a87e375e2afdd92802b7"
      ],
      "author": {
        "name": "Mathias Agopian",
        "email": "mathias@google.com",
        "time": "Mon Jul 30 15:10:35 2012 -0700"
      },
      "committer": {
        "name": "Mathias Agopian",
        "email": "mathias@google.com",
        "time": "Mon Jul 30 15:10:35 2012 -0700"
      },
      "message": "log more info on fence sync_merge error\n\nalso fix a typo where the wrong value was passed to sterror.\n\nChange-Id: I4df2abe582e14c8f816b65818f4593a6bd3c23ea\n"
    },
    {
      "commit": "c777b0b3b9b0ea5d8e378fccde6935765e28e329",
      "tree": "83ef3d6288766dc474bb9a77ebc947b0857865df",
      "parents": [
        "02a7be74dd0c4eb47a522cb0f646736cb6d0de01"
      ],
      "author": {
        "name": "Jesse Hall",
        "email": "jessehall@google.com",
        "time": "Thu Jun 28 12:52:05 2012 -0700"
      },
      "committer": {
        "name": "Jesse Hall",
        "email": "jessehall@google.com",
        "time": "Sat Jun 30 21:38:51 2012 -0700"
      },
      "message": "Pass fences with buffers from SurfaceTextureClient\n\nChange-Id: I09b49433788d01e8b2b3684bb4d0112be29538d3\n"
    },
    {
      "commit": "f9783af225aa3b41ec0af36f90941a714269abb7",
      "tree": "6d6ff4e211848dddf2314da20cf27548b2bf83c6",
      "parents": [
        "b7c839b1103f72f8eb89fc0e19f7805969fc622f"
      ],
      "author": {
        "name": "Jesse Hall",
        "email": "jessehall@google.com",
        "time": "Mon Jun 25 13:54:23 2012 -0700"
      },
      "committer": {
        "name": "Jesse Hall",
        "email": "jessehall@google.com",
        "time": "Thu Jun 28 17:08:42 2012 -0700"
      },
      "message": "Return fence to client in dequeuBuffer\n\nChange-Id: Ic19750793ad993f0e85391f3cabd743ba565d4c9\n"
    },
    {
      "commit": "ef19414bd8b77a26f5751f3845be79025a8263fe",
      "tree": "9624b3d718e065747bedff50cb969151d675a471",
      "parents": [
        "a74cbc06493ed941a8a54f2f1d0074f03fc9aafb"
      ],
      "author": {
        "name": "Jesse Hall",
        "email": "jessehall@google.com",
        "time": "Thu Jun 14 14:45:17 2012 -0700"
      },
      "committer": {
        "name": "Jesse Hall",
        "email": "jessehall@google.com",
        "time": "Thu Jun 21 22:21:12 2012 -0700"
      },
      "message": "Transfer HWC release fences to BufferQueue\n\nAfter a HWC set, each SurfaceFlinger Layer retrieves the release fence\nHWC returned and gives it to the layer\u0027s SurfaceTexture. The\nSurfaceTexture accumulates the fences into a merged fence until the\nnext updateTexImage, then passes the merged fence to the BufferQueue\nin releaseBuffer.\n\nIn a follow-on change, BufferQueue will return the fence along with\nthe buffer slot in dequeueBuffer. For now, dequeueBuffer waits for the\nfence to signal before returning.\n\nThe releaseFence default value for BufferQueue::releaseBuffer() is\ntemporary to avoid transient build breaks with a multi-project\ncheckin. It\u0027ll disappear in the next change.\n\nChange-Id: Iaa9a0d5775235585d9cbf453d3a64623d08013d9\n"
    },
    {
      "commit": "f25e183a70bd631f75dce51e85b7d568472a0cdb",
      "tree": "adeaf3920d889c4caffca6884d83bf6b0d9c0b3f",
      "parents": [
        "aa049f0d19684cf92f2f6510133a33138845dcd3"
      ],
      "author": {
        "name": "Jamie Gennis",
        "email": "jgennis@google.com",
        "time": "Wed Jun 13 16:31:43 2012 -0700"
      },
      "committer": {
        "name": "Jesse Hall",
        "email": "jessehall@google.com",
        "time": "Wed Jun 20 15:48:30 2012 -0700"
      },
      "message": "libui: add the Fence class\n\nThis change adds the Fence class to libui for to wrap the libsync\nfunctionality.\n\nChange-Id: I93a31baeee608b93c14da807a32013dabf783f84\n"
    }
  ]
}
