)]}'
{
  "log": [
    {
      "commit": "82d377b585677442ed7732ada55e3e93857d083b",
      "tree": "16265798d8d76dc6fdd9d972bf0179301d957130",
      "parents": [
        "9c1d75983aaa697466d25ac09964fa8ce3708769"
      ],
      "author": {
        "name": "Jesse Hall",
        "email": "jessehall@google.com",
        "time": "Wed Jun 13 11:52:10 2018 -0700"
      },
      "committer": {
        "name": "Jesse Hall",
        "email": "jessehall@google.com",
        "time": "Wed Jun 13 11:52:10 2018 -0700"
      },
      "message": "sync: remove legacy sync info API\n\nThe legacy fence/pt info API has been deprecated for a while. This\nchange removes it from headers, so remaining users will have to switch\nto the modern API when they\u0027re re-compiled. The functions are still\nprovided by libsync.so and tests remain, so existing binaries should\ncontinue to work. Eventually these will be removed too, though, once\nit\u0027s reasonable to expect those binaries to have been recompiled.\n\nThis reverts commit eed25df46a22a143a0341113759894c23a9b6cbf, which\nreverted the previous attempt in commit\n798ba95bda14f9f28561a2a27ba406537f8bb8a8 now that more users of the\nlegacy API have been converted.\n\nBug: 35326015\nTest: make checkbuild\nTest: adb shell dumpsys SurfaceFlinger --latency\n"
    },
    {
      "commit": "eed25df46a22a143a0341113759894c23a9b6cbf",
      "tree": "258eea596705e2709354471eace7f3b135c1cfac",
      "parents": [
        "798ba95bda14f9f28561a2a27ba406537f8bb8a8"
      ],
      "author": {
        "name": "Marissa Wall",
        "email": "marissaw@google.com",
        "time": "Tue Jun 05 17:22:32 2018 +0000"
      },
      "committer": {
        "name": "Marissa Wall",
        "email": "marissaw@google.com",
        "time": "Tue Jun 05 17:22:32 2018 +0000"
      },
      "message": "Revert \"sync: remove legacy sync info API\"\n\nThis reverts commit 798ba95bda14f9f28561a2a27ba406537f8bb8a8.\n\nBrodcom uses the sync_fence_info_data directly.\nhttps://android-build.googleplex.com/builds/submitted/4821789/elfin-userdebug/latest/view/logs/build_error.log\n\nChange-Id: I72fed683397e9b10007b71253e20ded43726d377\n"
    },
    {
      "commit": "798ba95bda14f9f28561a2a27ba406537f8bb8a8",
      "tree": "cc40d34a10ca49f5e8bb7dc5034eb6f383a0205d",
      "parents": [
        "2576a439e6c4a750e001e70d73a33d9519bb7660"
      ],
      "author": {
        "name": "Jesse Hall",
        "email": "jessehall@google.com",
        "time": "Fri May 04 15:17:39 2018 -0700"
      },
      "committer": {
        "name": "Jesse Hall",
        "email": "jessehall@google.com",
        "time": "Wed May 23 16:45:48 2018 -0700"
      },
      "message": "sync: remove legacy sync info API\n\nThe legacy fence/pt info API has been deprecated for a while. This\nchange removes it from headers, so remaining users will have to switch\nto the modern API when they\u0027re re-compiled. The functions are still\nprovided by libsync.so and tests remain, so existing binaries should\ncontinue to work. Eventually these will be removed too, though, once\nit\u0027s reasonable to expect those binaries to have been recompiled.\n\nBug: 35326015\nTest: make checkbuild\nTest: adb shell dumpsys SurfaceFlinger --latency\nChange-Id: Id086fafe37c2bc1cfdca4a21107bc9208ed61f89\n"
    },
    {
      "commit": "90a74600d772ee578aaf5c63005e2d80b0d223c9",
      "tree": "f8ac4b2019959b65429abfdc2ad3c52b3574d5c7",
      "parents": [
        "22a10f6766cd3ae07217b9a93c44381f52aa7018"
      ],
      "author": {
        "name": "Saurabh Shah",
        "email": "saurshah@quicinc.com",
        "time": "Tue Aug 01 13:54:21 2017 -0700"
      },
      "committer": {
        "name": "Marissa Wall",
        "email": "marissaw@google.com",
        "time": "Mon Sep 25 15:51:46 2017 -0700"
      },
      "message": "sync: store the num_fences from first SYNC_IOC_FILE_INFO\n\nFixes a bug with the signal time of devices using the\nmodern sync file interface. The bug only affects kernels running\nan Android kernel 4.9 and later.\n\nb/63395253\n\nTest: tests/sync_test.cpp\n\nChange-Id: I6fb00bcb8e16a3268c357153edd8e35a44546caa\n"
    },
    {
      "commit": "4ff5ff29d26cd028d5d78f5b764dab380fd7c9f4",
      "tree": "283434227e4125590c2e3cd0346b6394854cb685",
      "parents": [
        "f899548cdb18a56db9ad0c0c5ecd1941a6b23255"
      ],
      "author": {
        "name": "George Burgess IV",
        "email": "gbiv@google.com",
        "time": "Tue Sep 05 16:26:36 2017 -0700"
      },
      "committer": {
        "name": "George Burgess IV",
        "email": "gbiv@google.com",
        "time": "Tue Sep 05 16:26:36 2017 -0700"
      },
      "message": "libsync: Fix a double-free.\n\nsync_file_info, the only caller of legacy_fence_info_to_sync_file_info,\nunconditionally frees legacy_info after\nlegacy_fence_info_to_sync_file_info is called. So, if this calloc\nfails, we\u0027ll end up freeing legacy_info twice.\n\nBug: 27101951\nTest: mma. Static analyzer complaint about double-free is gone.\nChange-Id: I43bf820af9aadf30cb8eabce57416f69a8fccf89\n"
    },
    {
      "commit": "6cd0fc56c0a2cb8fdf897f49f013f86dc698d793",
      "tree": "95b08eab695324bf4b9ba22c3940857ff74e5097",
      "parents": [
        "dec150ff58e0c48fc96c9e0222bda6c2afd23869"
      ],
      "author": {
        "name": "Jesse Hall",
        "email": "jessehall@google.com",
        "time": "Sat Feb 18 21:51:04 2017 -0800"
      },
      "committer": {
        "name": "Jesse Hall",
        "email": "jessehall@google.com",
        "time": "Wed Mar 08 17:34:14 2017 -0800"
      },
      "message": "sync: Cache knowledge of kernel uapi version\n\nPreviously all libsync calls would try first the modern/mainline uapi\nand if that failed try the legacy uapi, or vice versa. This is\ninefficient, and confusing when looking at strace. With this change,\nafter the first successful syscall, libsync know\u0027s what uapi version\nthe kernel supports, and will only try that version in the future.\n\nTest: sync-unit-tests on bullhead\nChange-Id: I8b5de0194da0cfc6c080c0180318e16bb673d3c9\n"
    },
    {
      "commit": "41129a2526d4a8bc3510bc65c0e39e1e9d4700d2",
      "tree": "2e0ffa0c4c47072e77e8214c53d223078907ce64",
      "parents": [
        "b7fdb2a1284143b8cee11483646b8753262ad165"
      ],
      "author": {
        "name": "Jesse Hall",
        "email": "jessehall@google.com",
        "time": "Mon Feb 13 15:19:24 2017 -0800"
      },
      "committer": {
        "name": "Jesse Hall",
        "email": "jessehall@google.com",
        "time": "Thu Feb 23 18:44:50 2017 -0800"
      },
      "message": "sync: rename sync/sync.h to android/sync.h\n\nLeave a temporary symlink from the old name to avoid having to change\nall dependencies simultaneously.\n\nBug: 1901466\nTest: m\nChange-Id: Id210f0091457e52e1a6e048d241a723bdbe8779b\n"
    },
    {
      "commit": "b7fdb2a1284143b8cee11483646b8753262ad165",
      "tree": "e6ae6d912d3a674900bdf789fb79581c1729b652",
      "parents": [
        "836661616fcf4bc023b192d1c320f0727a9dfef9"
      ],
      "author": {
        "name": "Jesse Hall",
        "email": "jessehall@google.com",
        "time": "Sun Feb 12 16:42:11 2017 -0800"
      },
      "committer": {
        "name": "Jesse Hall",
        "email": "jessehall@google.com",
        "time": "Thu Feb 23 18:44:50 2017 -0800"
      },
      "message": "sync: move declarations from sync/sync.h to sync.c\n\nNone of these should be needed or used outside of sync.c.\n\nTest: lunch bullhead-eng ; m\nChange-Id: I548a499d0e2ada2ab4987e63a8116327c3be0076\n"
    },
    {
      "commit": "836661616fcf4bc023b192d1c320f0727a9dfef9",
      "tree": "49e82464c7eca7aa4774f45ae099918ddb66d0e9",
      "parents": [
        "89530820d7f5837f00f3f04e18dfa05c7506eb68"
      ],
      "author": {
        "name": "Jesse Hall",
        "email": "jessehall@google.com",
        "time": "Sun Feb 12 16:32:39 2017 -0800"
      },
      "committer": {
        "name": "Jesse Hall",
        "email": "jessehall@google.com",
        "time": "Thu Feb 23 18:44:50 2017 -0800"
      },
      "message": "sync: implement sync_file_info\n\nAlso modifies sync-unit-test to use sync_file_info instead of the\ndeprecated sync_fence_info, but check that they match in several tests.\n\nBug: 35138793\nTest: sync-unit-tests on bullhead\nChange-Id: Ic672d1c89798435a8b71469500e82c770a66bf4d\n"
    },
    {
      "commit": "89530820d7f5837f00f3f04e18dfa05c7506eb68",
      "tree": "139b29fe359550c6999821b9dd499ed228849ed7",
      "parents": [
        "081806e5f2e9f8b573827b0f3d4b35d8ddb64cb9"
      ],
      "author": {
        "name": "Jesse Hall",
        "email": "jessehall@google.com",
        "time": "Sun Feb 12 16:17:22 2017 -0800"
      },
      "committer": {
        "name": "Jesse Hall",
        "email": "jessehall@google.com",
        "time": "Thu Feb 23 18:44:50 2017 -0800"
      },
      "message": "sync: refactor sync_fence_info\n\nSplit the sync_fence_info implementation into multiple functions. This\nclarifies the logic, and allows the parts to be reused in the upcoming\nsync_file_info function.\n\nTest: sync-unit-tests on bullhead\nChange-Id: I0ea37067dddf41b831670f08eb99e0b7fd52adce\n"
    },
    {
      "commit": "077ffd5055538e79d20fb5de964083cfbe10dc3f",
      "tree": "d86e67a7aeeb7b9db62a38391a9e56d1cdd10950",
      "parents": [
        "917cca2f04a88c1b307e9a4b75582ca9ecf34444"
      ],
      "author": {
        "name": "Jesse Hall",
        "email": "jessehall@google.com",
        "time": "Sun Feb 12 16:01:36 2017 -0800"
      },
      "committer": {
        "name": "Jesse Hall",
        "email": "jessehall@google.com",
        "time": "Thu Feb 23 18:44:50 2017 -0800"
      },
      "message": "sync: Use correct type in size calculation\n\nThe previous and current types are the same size, so this wouldn\u0027t\nhave caused a bug in practice, but it is confusing, and would have\nbeen a problem in the unlikely event we changed the size of one of the\ntypes.\n\nTest: sync-unit-tests on bullhead\nChange-Id: Ic43b81f3b4ff214af86b6b6d4d02c648f95d0c4b\n"
    },
    {
      "commit": "61ab0d74d218d0be32d0cab1c7ee22c5e12216fe",
      "tree": "6525b8365ea63de8459cef0727fe63757d492424",
      "parents": [
        "ffc687baad033ecc96f6c560b205fea61afe9e41"
      ],
      "author": {
        "name": "Gustavo Padovan",
        "email": "gustavo.padovan@collabora.com",
        "time": "Sat Jun 11 11:11:19 2016 -0300"
      },
      "committer": {
        "name": "Dmitry Shmidt",
        "email": "dimitrysh@google.com",
        "time": "Tue Jan 17 14:29:01 2017 -0800"
      },
      "message": "libsync: add support to new Sync API\n\nChange libsync functions in a way that it can run dynamically on both\nAPIs.\n\nv2: fix whitespace changes and poll return handling\n\nv3: handle error cases on sync_wait()\n\nTest: Sync unit tests still passes.\nChange-Id: I743ab92ce39cbfa75dca41dd0a435efa9f2aab66\nhange-Id: Ib56f2c6441b41028bc9f66998676790b7713988a\n"
    },
    {
      "commit": "ffc687baad033ecc96f6c560b205fea61afe9e41",
      "tree": "2f361fc5832adc9145a21dbab1bb5f88d4f8edfd",
      "parents": [
        "6786575d42e78c8faa51393871eb958d87d57e08"
      ],
      "author": {
        "name": "Gustavo Padovan",
        "email": "gustavo.padovan@collabora.com",
        "time": "Fri Jun 10 16:51:29 2016 -0300"
      },
      "committer": {
        "name": "Dmitry Shmidt",
        "email": "dimitrysh@google.com",
        "time": "Tue Jan 17 14:28:45 2017 -0800"
      },
      "message": "libsync: open new location of sw_sync file\n\nsw_sync file for debug was moved to debugfs. Try to open it and if it\nfails try to open /dev/sw_sync.\n\nTest: Sync unit tests still passes.\nChange-Id: Ie078fbc2eb5294f28b916a9e65b7fcd3a18a8580\nhange-Id: I216874964368d939bed2779d98cd89e527a57d45\n"
    },
    {
      "commit": "d6bbc5de66fc7ac51773bc92d6a48a94e622f9b1",
      "tree": "8d28229412eb8edf4bb4906ce5a94e38a0e0d1d9",
      "parents": [
        "60c763ed52004a3c2330fd8ab7c5b2b6968e7822"
      ],
      "author": {
        "name": "Gustavo Padovan",
        "email": "gustavo.padovan@collabora.com",
        "time": "Fri Jun 10 16:09:36 2016 -0300"
      },
      "committer": {
        "name": "Dmitry Shmidt",
        "email": "dimitrysh@google.com",
        "time": "Tue Jan 17 14:28:00 2017 -0800"
      },
      "message": "libsync: move kernel headers for sync ioctls to sync.h\n\nThis patch moves the legacy API to the internal sync.h header\nand add documentation to it.\n\nTest: Sync unit tests still passes.\nChange-Id: I9b17eb23af30043b3df5fb9e857affad68ba8521\n"
    },
    {
      "commit": "1514bb4f2f6a238b48092b61e55a8a8909e059cc",
      "tree": "85c0e569bd036c669b15764d2aef6a8d61955c7f",
      "parents": [
        "b0a15d83191c69f9a1279a09a40929b8b9fa6720"
      ],
      "author": {
        "name": "Christopher Ferris",
        "email": "cferris@google.com",
        "time": "Mon Dec 12 17:32:55 2016 -0800"
      },
      "committer": {
        "name": "Christopher Ferris",
        "email": "cferris@google.com",
        "time": "Mon Dec 12 18:59:42 2016 -0800"
      },
      "message": "Update for kernel headers v4.8.14.\n\nUpdate sync.c to include the structurs from sw_sync.h. This uapi\nheader has been deleted.\n\nTest: Built mips/arm/arm64/x86/x86_64. Built and booted angler.\nChange-Id: I2495cb17b35f697fb8a2a00f6633ccb53f78293f\n"
    },
    {
      "commit": "f83c7923f956328a022cddcfcd2d13d797a22a63",
      "tree": "5e2cc230d68bd45de2e2c9de9d36edf7c0a3fb75",
      "parents": [
        "091b631915c68c801bbded01ac8bb3a7af18436e"
      ],
      "author": {
        "name": "Christopher Ferris",
        "email": "cferris@google.com",
        "time": "Wed Aug 24 14:49:18 2016 -0700"
      },
      "committer": {
        "name": "Christopher Ferris",
        "email": "cferris@google.com",
        "time": "Fri Aug 26 16:48:18 2016 -0700"
      },
      "message": "Update for kernel headers v4.7.2.\n\nThe new uapi kernel headers added a new SEGV reason code, so\nadd it to the tombstone code.\n\nUpdate sync.c to include the needed data structures itself. Someone\nelse will be fixing this to work on old versus new kernels.\n\nChange-Id: Icb27713ea38a20003c7671a9bca262eebd96099b\n"
    },
    {
      "commit": "a744b05984a963966cec08758ffe582d241be9d7",
      "tree": "f9bde7bcbcc5f3e49cafe045b5951d3acdf27d23",
      "parents": [
        "9c4c5a6ed934490ba0fcce661594975a6f4c2c89"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Wed Jan 28 11:37:57 2015 -0800"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Wed Jan 28 11:37:57 2015 -0800"
      },
      "message": "Add missing \u003cmalloc.h\u003e and \u003cstring.h\u003e includes.\n\nChange-Id: Ia41756e607663d056e7d2fdd7ecbec7e5841a913\n"
    },
    {
      "commit": "984d35703d5c6738253193bd53da9dedb3b58243",
      "tree": "0f1d442fab3c7bde6497e6aba2adacbfad487fe8",
      "parents": [
        "6302b420554724c1434e27e2cd46cb43f5fb7bca"
      ],
      "author": {
        "name": "Erik Gilling",
        "email": "konkers@android.com",
        "time": "Tue Aug 21 18:21:18 2012 -0700"
      },
      "committer": {
        "name": "Erik Gilling",
        "email": "konkers@android.com",
        "time": "Tue Aug 21 18:21:18 2012 -0700"
      },
      "message": "update libsync to support new timeout semantics\n\nChange-Id: Ibedbd261bb96a84785c4e679b6fc4061287d5d7d\n"
    },
    {
      "commit": "3be33e46187bfb1e42099bb4ba061a494356576c",
      "tree": "c98cfa51f4f167a22c3e72f1bb5ab293166df603",
      "parents": [
        "4d4cc9ecc74ca7df7453b73e8ed62ff36c658f09"
      ],
      "author": {
        "name": "Jamie Gennis",
        "email": "jgennis@google.com",
        "time": "Wed Jun 13 16:40:54 2012 -0700"
      },
      "committer": {
        "name": "Jesse Hall",
        "email": "jessehall@google.com",
        "time": "Tue Jun 19 09:52:24 2012 -0700"
      },
      "message": "libsync: remove linux includes from sync/sync.h\n\nThis change removes the #includes of \"linux/*.h\" headers from the libsync\nheader.  It currently does this by copying the needed structs that are in the\nlinux headers.  This is intended to be a temporary solution.\n\nChange-Id: Ie7e1a8e05fcf8809ba4aa0e2427efe141dae5327\n"
    },
    {
      "commit": "196b3a5f6f48649500909c66177967abaf05b898",
      "tree": "0451a808b8172db8bfdc37afedc335e7cd71f66c",
      "parents": [
        "545ab46063f083239b29e59b8b491656d93f2a38"
      ],
      "author": {
        "name": "Erik Gilling",
        "email": "konkers@android.com",
        "time": "Wed Mar 07 15:30:33 2012 -0800"
      },
      "committer": {
        "name": "Erik Gilling",
        "email": "konkers@android.com",
        "time": "Wed Apr 18 13:36:17 2012 -0700"
      },
      "message": "sync: Add lib sync helper library\n\nUsed to talk to kernel synchronization framework\n\nChange-Id: I66e1f4a90f5d58d384bf1cec09db52101f182c5e\nSigned-off-by: Erik Gilling \u003ckonkers@android.com\u003e\n"
    }
  ]
}
