)]}'
{
  "log": [
    {
      "commit": "26d244281a62c909acfd7527da256a9413241122",
      "tree": "604db48636694e35f1f60ce41fd3e07542e12cc2",
      "parents": [
        "2cfdc6bed2ae9c1267570537a6a9521d69c2cb05"
      ],
      "author": {
        "name": "Mathias Agopian",
        "email": "mathias@google.com",
        "time": "Fri Mar 19 16:14:13 2010 -0700"
      },
      "committer": {
        "name": "Mathias Agopian",
        "email": "mathias@google.com",
        "time": "Fri Mar 19 16:16:43 2010 -0700"
      },
      "message": "libutils Condition are now PRIVATE by default\n\nCondition must be initialized with SHARED for the old behavior, where\nthey can be used accross processes.\n\nUpdated the two places android that require SHARED conditions.\n\nPRIVATE conditions (and mutexes) use more efficient syscalls.\n\nChange-Id: I9a281a4b88206e92ac559c66554e886b9c62db3a\n"
    },
    {
      "commit": "8c6cedc9bc9a4b69616a79a95449f6f6b08c7bf1",
      "tree": "b1bbc3748af558bc7a56d7ac4fb96ca059cc845b",
      "parents": [
        "d56352bddd717d2e45f1f3ee7fb52ef7f593f950"
      ],
      "author": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Mon Dec 07 17:59:37 2009 -0800"
      },
      "committer": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Mon Dec 07 19:11:14 2009 -0800"
      },
      "message": "Propagate background scheduling class across processes.\n\nThis is a very simply implementation: upon receiving an IPC, if the handling\nthread is at a background priority (the driver will have taken care of\npropagating this from the calling thread), then stick it in to the background\nscheduling group.  Plus an API to turn this off for the process, which is\nused by the system process.\n\nThis also pulls some of the code for managing scheduling classes out of\nthe Process JNI wrappers and in to some convenience methods in thread.h.\n"
    },
    {
      "commit": "c101e04abb2c3bf4f48b185b454e94fade223653",
      "tree": "3af2ae736c8bcab15db8b9c2ef85f7f6046676b5",
      "parents": [
        "7b8ce0127dd40d5a39617204d91de1be6048beb2"
      ],
      "author": {
        "name": "San Mehat",
        "email": "san@google.com",
        "time": "Sat Sep 12 10:10:37 2009 -0700"
      },
      "committer": {
        "name": "San Mehat",
        "email": "san@google.com",
        "time": "Sat Sep 12 10:48:03 2009 -0700"
      },
      "message": "process: Switch to common cutils sched_policy api\n\nSigned-off-by: San Mehat \u003csan@google.com\u003e\n"
    },
    {
      "commit": "9410f98e78622d962b3fb1c520af53d5351a65c5",
      "tree": "a418bc34575e74fbc48bf278058a61a4b2de5f73",
      "parents": [
        "476a3aef5e133756b773f8946251747d26b787f2"
      ],
      "author": {
        "name": "San Mehat",
        "email": "san@google.com",
        "time": "Tue Sep 08 20:28:35 2009 -0700"
      },
      "committer": {
        "name": "San Mehat",
        "email": "san@google.com",
        "time": "Thu Sep 10 15:09:38 2009 -0700"
      },
      "message": "Process: Add support for using scheduler policies instead of cgroups.\nPreference is given to cgroups if available.\n\nSigned-off-by: San Mehat \u003csan@google.com\u003e\n"
    },
    {
      "commit": "4de4ebf6a25b5cf1819809ffcedea331d79823e0",
      "tree": "39c110d7cae1d3690c7454be7b3379dd58ceab80",
      "parents": [
        "454ea681398a23a45e2a9c4f3b12d7c30fec8e3c"
      ],
      "author": {
        "name": "Mathias Agopian",
        "email": "mathias@google.com",
        "time": "Wed Sep 09 02:38:13 2009 -0700"
      },
      "committer": {
        "name": "Mathias Agopian",
        "email": "mathias@google.com",
        "time": "Wed Sep 09 02:45:26 2009 -0700"
      },
      "message": "use broadcast() instead of signal() when signaling the condition-variable Thread::RequestExitAndWait() is waiting for\n\nwe could have several thread waiting on the condition and they all need to wake-up.\nalso added a debug \"mTid\" field in the class, which contains the tid of the thread (as opposed to pthread_t), this\nis useful when debugging under gdb for instance.\n"
    },
    {
      "commit": "eb9fd685f8c02384305d57d17b1bca428c7b2dd9",
      "tree": "c51aec2db43e9c53229feed8f532a1703863f68c",
      "parents": [
        "b8eccd86603448a618978a92727a9b948d9f62ed"
      ],
      "author": {
        "name": "Mathias Agopian",
        "email": "mathias@google.com",
        "time": "Mon Jul 13 21:59:37 2009 -0700"
      },
      "committer": {
        "name": "Mathias Agopian",
        "email": "mathias@google.com",
        "time": "Mon Jul 13 22:06:36 2009 -0700"
      },
      "message": "add a ctor to Mutex to specify the type, which can be shared. This is used by sf and af an soon will allow some optimization in the kernel for non shared mutexes\n"
    },
    {
      "commit": "ec0f1f6720cd7ecffab54b0dfc2553b55a38e50f",
      "tree": "58c51e2660462c6573f8a18e47b41f2460d5d1ea",
      "parents": [
        "98b34b3fffe50e8e4e62d76631c79edaa0b28b70"
      ],
      "author": {
        "name": "Mathias Agopian",
        "email": "mathias@google.com",
        "time": "Sun Jul 12 23:11:20 2009 -0700"
      },
      "committer": {
        "name": "Mathias Agopian",
        "email": "mathias@google.com",
        "time": "Mon Jul 13 15:14:23 2009 -0700"
      },
      "message": "implement Mutex and Condition with pthread instead of calling futex directly.\n\ninternally pthread uses futex. the implementation consists of simple inlines\nthere are no implementation files anymore.\n"
    },
    {
      "commit": "83c0446f27b9542d6c2e724817b2b2d8d1f55085",
      "tree": "a5a1a310070cad89ee8aaa86d3b1b874f9d29610",
      "parents": [
        "5f2397488ab700674d059a001e917de28a1b0a0c"
      ],
      "author": {
        "name": "Mathias Agopian",
        "email": "mathias@google.com",
        "time": "Fri May 22 19:00:22 2009 -0700"
      },
      "committer": {
        "name": "Mathias Agopian",
        "email": "mathias@google.com",
        "time": "Tue May 26 16:12:20 2009 -0700"
      },
      "message": "some work to try to reduce the code size of some native libraries\n\n- make sure that all binder Bn classes define a ctor and dtor in their respective library.\n  This avoids duplication of the ctor/dtor in libraries where these objects are instantiated.\n  This is also cleaner, should we want these ctor/dtor to do something one day.\n\n- same change as above for some Bp classes and various other non-binder classes\n\n- moved the definition of CHECK_INTERFACE() in IInterface.h instead of having it everywhere.\n\n- improved the CHECK_INTERFACE() macro so it calls a single method in Parcel, instead of inlining its code everywhere\n\n- IBinder::getInterfaceDescriptor() now returns a \"const String16\u0026\" instead of String16, which saves calls to String16 and ~String16\n\n- implemented a cache for BpBinder::getInterfaceDescriptor(), since this does an IPC. HOWEVER, this method never seems to be called.\n  The cache makes BpBinder bigger, so we need to figure out if we need this method at all.\n"
    },
    {
      "commit": "046cda49f94d87b31553a6f34109a59e8e7a2994",
      "tree": "4f2e65bcc996f0700a9fc8f8cf86984d38a5d1cf",
      "parents": [
        "e2ac5fddd8d5af24e65e5441632f54684c622195"
      ],
      "author": {
        "name": "San Mehat",
        "email": "san@google.com",
        "time": "Tue Apr 21 14:06:36 2009 -0700"
      },
      "committer": {
        "name": "San Mehat",
        "email": "san@google.com",
        "time": "Mon Apr 27 09:17:06 2009 -0700"
      },
      "message": "Add support for changing a threads scheduler group. Three groups are available (default, background non interactive, foreground boost). Setting a thread priority to PRIORITY_BACKGROUND will transparently change groups to background\n\nSigned-off-by: San Mehat \u003csan@google.com\u003e\n"
    },
    {
      "commit": "9adf84a4b6735354893ff1e57c129f66d97d75ee",
      "tree": "6fad0d5c1e6ba13f6ec539e4dec71e2c5f57ed39",
      "parents": [
        "edbf3b6af777b721cd2a1ef461947e51e88241e1"
      ],
      "author": {
        "name": "The Android Open Source Project",
        "email": "initial-contribution@android.com",
        "time": "Thu Mar 05 14:34:35 2009 -0800"
      },
      "committer": {
        "name": "The Android Open Source Project",
        "email": "initial-contribution@android.com",
        "time": "Thu Mar 05 14:34:35 2009 -0800"
      },
      "message": "auto import from //depot/cupcake/@136594\n"
    },
    {
      "commit": "edbf3b6af777b721cd2a1ef461947e51e88241e1",
      "tree": "f09427b843b192cccf8c3b5328cb81dddf6489fa",
      "parents": [
        "d5193d9394c5e58176d7bcdf50ef017f8a3b9e1e"
      ],
      "author": {
        "name": "The Android Open Source Project",
        "email": "initial-contribution@android.com",
        "time": "Tue Mar 03 19:31:44 2009 -0800"
      },
      "committer": {
        "name": "The Android Open Source Project",
        "email": "initial-contribution@android.com",
        "time": "Tue Mar 03 19:31:44 2009 -0800"
      },
      "message": "auto import from //depot/cupcake/@135843\n"
    },
    {
      "commit": "d5193d9394c5e58176d7bcdf50ef017f8a3b9e1e",
      "tree": "4b825dc642cb6eb9a060e54bf8d69288fbee4904",
      "parents": [
        "43aa2b1cbf7a03e248e10f4d0fec0463257cd52d"
      ],
      "author": {
        "name": "The Android Open Source Project",
        "email": "initial-contribution@android.com",
        "time": "Tue Mar 03 18:28:45 2009 -0800"
      },
      "committer": {
        "name": "The Android Open Source Project",
        "email": "initial-contribution@android.com",
        "time": "Tue Mar 03 18:28:45 2009 -0800"
      },
      "message": "auto import from //depot/cupcake/@135843\n"
    },
    {
      "commit": "7c1b96a165f970a09ed239bb4fb3f1b0d8f2a407",
      "tree": "df5a6539447324de36e95b057d6b9f0361b7a250",
      "parents": [],
      "author": {
        "name": "The Android Open Source Project",
        "email": "initial-contribution@android.com",
        "time": "Tue Oct 21 07:00:00 2008 -0700"
      },
      "committer": {
        "name": "The Android Open Source Project",
        "email": "initial-contribution@android.com",
        "time": "Tue Oct 21 07:00:00 2008 -0700"
      },
      "message": "Initial Contribution\n"
    }
  ]
}
