)]}'
{
  "commit": "df1f5e796c537c84da445a9157c9c6727b4d8ee3",
  "tree": "34d996a105ee66229665d6e5013a971e372a4459",
  "parents": [
    "9bde6aeb76b1d2a45d76637553c3fb3f31e4ecbd"
  ],
  "author": {
    "name": "Adam Langley",
    "email": "agl@google.com",
    "time": "Mon Apr 13 11:04:08 2015 -0700"
  },
  "committer": {
    "name": "Adam Langley",
    "email": "agl@google.com",
    "time": "Tue Apr 14 20:07:15 2015 +0000"
  },
  "message": "crypto: add mutexes.\n\nPrior to this, BoringSSL was using OpenSSL\u0027s technique of having users\nregister a callback for locking operation. This change adds native mutex\nsupport.\n\nSince mutexes often need to be in objects that are exposed via public\nheaders, the non-static mutexes are defined in thread.h. However, on\nWindows we don\u0027t want to #include windows.h for CRITICAL_SECTION and, on\nLinux, pthread.h doesn\u0027t define pthread_rwlock_t unless the feature\nflags are set correctly—something that we can\u0027t control in general\nfor public header files. Thus, on both platforms, the mutex is defined\nas a uint8_t[] of equal or greater size and we depend on static asserts\nto ensure that everything works out ok.\n\nChange-Id: Iafec17ae7e3422325e587878a5384107ec6647ab\nReviewed-on: https://boringssl-review.googlesource.com/4321\nReviewed-by: Adam Langley \u003cagl@google.com\u003e\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "e8f4ef7ad2e6bd63484a839ae73192d2ad2e770e",
      "old_mode": 33188,
      "old_path": "crypto/internal.h",
      "new_id": "6a8d5b2f15b997fd9e17d261d8880e2240a63359",
      "new_mode": 33188,
      "new_path": "crypto/internal.h"
    },
    {
      "type": "modify",
      "old_id": "1516ea19635409de2eec0dbc2cb4c0ce30dc76f3",
      "old_mode": 33188,
      "old_path": "crypto/thread_pthread.c",
      "new_id": "4188c4cc90c4ad50d6dc18c49cb8b655784a82df",
      "new_mode": 33188,
      "new_path": "crypto/thread_pthread.c"
    },
    {
      "type": "modify",
      "old_id": "240444f84ea6e9a01726b69777a92999e7da108a",
      "old_mode": 33188,
      "old_path": "crypto/thread_win.c",
      "new_id": "7a4f9bcbfd5e8b3bf04620389a0747748815bc85",
      "new_mode": 33188,
      "new_path": "crypto/thread_win.c"
    },
    {
      "type": "modify",
      "old_id": "1f8f524d93c8e4395c0c72fefbfbcce1caed2202",
      "old_mode": 33188,
      "old_path": "include/openssl/thread.h",
      "new_id": "f9b9980d12ef92759dd820aa180e5d43dadbdf1e",
      "new_mode": 33188,
      "new_path": "include/openssl/thread.h"
    }
  ]
}
