)]}'
{
  "log": [
    {
      "commit": "79f988c27ac97b7a89e6c78a64da2f3a2f65d916",
      "tree": "46358895d7630b0fd10590068450bef9ef151320",
      "parents": [
        "aaa8947f3a149d38dd4bfd395573860c2f18ea93"
      ],
      "author": {
        "name": "Jens Geyer",
        "email": "jensg@apache.org",
        "time": "Fri Oct 03 20:42:54 2014 +0200"
      },
      "committer": {
        "name": "Jens Geyer",
        "email": "jensg@apache.org",
        "time": "Fri Oct 03 20:42:54 2014 +0200"
      },
      "message": "THRIFT-2768: Whitespace Fixup\nClient: General (Makefile.am)\nPatch: Jens Geyer\n\nReverted makefile.am - tabs are not optional there\n"
    },
    {
      "commit": "aaa8947f3a149d38dd4bfd395573860c2f18ea93",
      "tree": "af4b000fca7e39c9b5e88b35fbc471b6138749c4",
      "parents": [
        "d5436f5cf7a100d89abb3d125d8f241ca7dc925e"
      ],
      "author": {
        "name": "Jens Geyer",
        "email": "jensg@apache.org",
        "time": "Fri Oct 03 20:22:28 2014 +0200"
      },
      "committer": {
        "name": "Jens Geyer",
        "email": "jensg@apache.org",
        "time": "Fri Oct 03 20:30:38 2014 +0200"
      },
      "message": "THRIFT-2768: Whitespace Fixup\nClient: General (Makefile.am, *.thrift)\nPatch: Jens Geyer\n\nDocTest.thrift has NOT been changed, the trailing whitespaces are part of the test case.\n"
    },
    {
      "commit": "1ff4a97a45a78e4afe88660927fb798c18336f7d",
      "tree": "250015e1adfffc3f0f35c2ca7a3fa8234e4d5936",
      "parents": [
        "eb8e5ad87fc8d715a40416f789774da2856a6d69"
      ],
      "author": {
        "name": "Konrad Grochowski",
        "email": "hcorg@minions.org.pl",
        "time": "Fri Sep 19 23:57:57 2014 +0200"
      },
      "committer": {
        "name": "Roger Meier",
        "email": "roger@apache.org",
        "time": "Mon Sep 29 22:05:49 2014 +0200"
      },
      "message": "THRIFT-2716 - removed warnings from some Makefile.ams\n"
    },
    {
      "commit": "b3e5ebe1e4fdbbc34df5d4dabcdd15f25a7ee2fd",
      "tree": "e321d71c0d14068c286969896202bd8919a9e465",
      "parents": [
        "2de7e198998adeabbc7a31ecf2c1f06fc0304834"
      ],
      "author": {
        "name": "name",
        "email": "email",
        "time": "Fri Sep 12 11:15:24 2014 +0200"
      },
      "committer": {
        "name": "name",
        "email": "email",
        "time": "Fri Sep 12 11:15:24 2014 +0200"
      },
      "message": "THRIFT-2513 clean up enum value assignment\nClient: Compiler (General)\nPatch: Konrad Grochowski\n\nFixes the failing test with pure_enums. For details, see JIRA ticket.\n"
    },
    {
      "commit": "089bcd3f8cd643091cd29126b236271c069b18e9",
      "tree": "6368b6fabdffc9f98cdf9a28a1496754ec637837",
      "parents": [
        "684ccab5e72cddacda7a1fc2c1a80f23e1bc3163"
      ],
      "author": {
        "name": "Jens Geyer",
        "email": "jensg@apache.org",
        "time": "Thu Sep 11 22:36:41 2014 +0200"
      },
      "committer": {
        "name": "Jens Geyer",
        "email": "jensg@apache.org",
        "time": "Thu Sep 11 22:36:41 2014 +0200"
      },
      "message": "THRIFT-1040 Can\u0027t end typedef lines with a semicolon\nClient: Compiler (General)\nPatch: Konrad Grochowski\n"
    },
    {
      "commit": "1235ee3f2a65694793a3ef0c7c47d0245b293e52",
      "tree": "3cc98574f76e44f0e4d41324834af457b167bf24",
      "parents": [
        "4d223c6fee2fc6a37217d506c0879f7eab85541a"
      ],
      "author": {
        "name": "Jens Geyer",
        "email": "jensg@apache.org",
        "time": "Sat Sep 06 14:58:09 2014 +0200"
      },
      "committer": {
        "name": "Jens Geyer",
        "email": "jensg@apache.org",
        "time": "Sat Sep 06 14:59:51 2014 +0200"
      },
      "message": "Fix EnumTest (part 2)\nPatch: Konrad Grochowski, as part of his pull request 209\n"
    },
    {
      "commit": "ae0b22cc29a329f5e094c37d8fff166d01b6fab5",
      "tree": "a8530b060830bfbc1e2d989f345d406e062d0ddc",
      "parents": [
        "067779bbda32412ff67a777582465579a9f18c84"
      ],
      "author": {
        "name": "Jens Geyer",
        "email": "jensg@apache.org",
        "time": "Thu Sep 04 23:04:21 2014 +0200"
      },
      "committer": {
        "name": "Jens Geyer",
        "email": "jensg@apache.org",
        "time": "Thu Sep 04 23:40:14 2014 +0200"
      },
      "message": "THRIFT-2513 clean up enum value assignment\nPatch: Dave Watson\n\nThis closes #88\n\nSummary:\nClean up how enum values are handled if an integer value is not\nexplicitly specified in the thrift file.\n\nFor example, the following used to be a compile error, but\nworks now:\n\n  enum MyEnum {\n\tSOMEVALUE\n  }\n  struct MyStruct {\n\t1: MyEnum e \u003d SOMEVALUE\n  }\n\nThis change also cleans up some of the error handling with out-of-range\nvalues.  Previously thrift simply issued a warning for enum values that\ndidn\u0027t fit in an i32, but serialized them as i32 anyway.  Now\nout-of-range enum values result in a compile failure.\n\nTest Plan:\nIncluded a new unit test to verify the assignment of enum values.  I\nalso verified that g++ makes the same enum value assignments when\ncompiling these enums as C++ code.\n"
    },
    {
      "commit": "b3f6ea100fae38a568e1844923c4c945cab5b536",
      "tree": "92acbdf1ffda626fdd60510ab1c8d10fea5e0575",
      "parents": [
        "d0bd17e7263cb8f92c21d3e1dad2ee5b5e9f79e5"
      ],
      "author": {
        "name": "Konrad Grochowski",
        "email": "hcorg@minions.org.pl",
        "time": "Tue Sep 02 16:00:47 2014 +0200"
      },
      "committer": {
        "name": "Roger Meier",
        "email": "roger@apache.org",
        "time": "Wed Sep 03 23:41:32 2014 +0200"
      },
      "message": "THRIFT-2067 C++: all generated objects provide ostream operator\u003c\u003c\n"
    },
    {
      "commit": "bee7b738025ea7f2fa861a9567570ca502468c46",
      "tree": "6b07ed06afb37b29a74741ca19522c0fde8d079c",
      "parents": [
        "c0ff5561fefa4b690d6c72ac7d792f9a1e480bda"
      ],
      "author": {
        "name": "Alan Dunn",
        "email": "amdunn@gmail.com",
        "time": "Sat Jul 26 13:48:43 2014 -0500"
      },
      "committer": {
        "name": "Roger Meier",
        "email": "roger@apache.org",
        "time": "Sat Jul 26 22:13:55 2014 +0200"
      },
      "message": "Add unit test for OpenSSL manual initialization\n\nThis test checks whether Thrift leaves OpenSSL functionality available\nafter the last TSSLSocketFactory is destroyed when manual\ninitialization is set.  It uses the EVP_get_digestbyname function as\nan example function that requires OpenSSL initialization to work\nproperly.\n\nSigned-off-by: Alan Dunn \u003camdunn@gmail.com\u003e\nSigned-off-by: Roger Meier \u003croger@apache.org\u003e\n"
    },
    {
      "commit": "63fcb7e756a88adca994111e1d9bc0c3c5186c36",
      "tree": "df6221743c3ae019a0b75ca49ebf8e99fc64c229",
      "parents": [
        "746952efc182d0b391539aeaec96a0cc6183bd40"
      ],
      "author": {
        "name": "Roger Meier",
        "email": "roger@bufferoverflow.ch",
        "time": "Sun Jun 15 21:48:59 2014 +0200"
      },
      "committer": {
        "name": "Roger Meier",
        "email": "roger@bufferoverflow.ch",
        "time": "Sun Jun 15 21:51:32 2014 +0200"
      },
      "message": "THRIFT-2520 cpp:cob_style generates incorrect .tcc file\n\nThis closes #118\n\ncommit 22d266eefaf16f21ffd0ad193a6a54403de65197\nAuthor: N.Sukegawa \u003cnsukeg@gmail.com\u003e\nDate: 2014-05-07T19:36:43Z\n"
    },
    {
      "commit": "73b58a24699eb6b9d43ad05f8a19cd084979c31a",
      "tree": "118dac498d334581d06779a00192312a29ac7e51",
      "parents": [
        "20aeba3e384f6590770dc3b4343e6d5dfcbd3ce1"
      ],
      "author": {
        "name": "Roger Meier",
        "email": "roger@apache.org",
        "time": "Sun May 11 17:39:34 2014 +0200"
      },
      "committer": {
        "name": "Roger Meier",
        "email": "roger@apache.org",
        "time": "Sun May 11 17:39:34 2014 +0200"
      },
      "message": "THRIFT-1771 \"make check\" fails on x64 for libboost_unit_test_framework.a\n\nupdate ax_boost_base.m4 from http://www.gnu.org/software/autoconf-archive/\nPatch: Roger Meier\n"
    },
    {
      "commit": "e0e831683897ea4b786eebabd0cea77659d77150",
      "tree": "f0a7e4bbd410047e6022657d568abc593013b6d0",
      "parents": [
        "bea3144a456a635c7a2e84c92277c5ad27f892d6"
      ],
      "author": {
        "name": "jfarrell",
        "email": "jfarrell@apache.org",
        "time": "Tue Apr 08 22:45:01 2014 -0400"
      },
      "committer": {
        "name": "jfarrell",
        "email": "jfarrell@apache.org",
        "time": "Tue Apr 08 22:45:01 2014 -0400"
      },
      "message": "THRIFT-2421: Tree/Recursive struct support in thrift\nClient: cpp\nPatch:  Dave Watson\n\nGithub Pull Request: This closes #84\n----\ncommit b6134cedf292845e5ed01052919894df6b561bf2\nDate:   2014-03-20T18:12:04Z\n\n    Recursive structs support in parser\n\n    A common complaint is that you can\u0027t express trees or other recursive structures in thrift easily - unlike protobufs. This diff loosens up the parser to allow using structs before they are defined (and uses typedef as a forward declaration).\n    This diff is actually enough to make recursive types work for some dyamic languages (I tried php, works out of the box!)\n\n    Other languages will need forward declarations, or ways to box types, to make this work (i.e. C++ needs both forward decls and a way to express structs as pointers)\n"
    },
    {
      "commit": "c095919087adc9508300ec6e9cdcd58cf147a207",
      "tree": "9a7d224c815965c253f5e561943cc603b1eaa437",
      "parents": [
        "e3da768367d0a3e013a00a5a365e58aed3bffa32"
      ],
      "author": {
        "name": "Roger Meier",
        "email": "roger@apache.org",
        "time": "Tue Jan 15 23:20:19 2013 +0100"
      },
      "committer": {
        "name": "Roger Meier",
        "email": "roger@apache.org",
        "time": "Tue Jan 15 23:20:19 2013 +0100"
      },
      "message": "THRIFT-1829 cpp unit tests fail to build using multiple make jobs\nPatch: David Rennalls and Roger Meier\n"
    },
    {
      "commit": "7c7a5e05ba5dd7ddb30b2787da7ec52f3b9e8f6f",
      "tree": "954c1aaf07155d1c37f3836cdcac7e3b354feb30",
      "parents": [
        "510ecae94668b689dcea2061c49a66a34fb66e1e"
      ],
      "author": {
        "name": "Jake Farrell",
        "email": "jfarrell@apache.org",
        "time": "Thu Oct 11 00:29:11 2012 +0000"
      },
      "committer": {
        "name": "Jake Farrell",
        "email": "jfarrell@apache.org",
        "time": "Thu Oct 11 00:29:11 2012 +0000"
      },
      "message": "Thrift-1721:Dist broken due to 0.8.0 to 0.9.0 changes\nClient: build\nPatch: Jake Farrell\n\nFix dist build to create the 0.9.0 release\n\n\n\ngit-svn-id: https://svn.apache.org/repos/asf/thrift/trunk@1396880 13f79535-47bb-0310-9956-ffa450edef68\n"
    },
    {
      "commit": "4cb8e40d8abbb480065461ac3fd27280cb9a53f6",
      "tree": "49ef09afeabd71ce03198dc1c6bab83bb9c70808",
      "parents": [
        "83042b9078311d9bd166f8690a1feed4949b1c31"
      ],
      "author": {
        "name": "Roger Meier",
        "email": "roger@apache.org",
        "time": "Sun May 27 18:05:16 2012 +0000"
      },
      "committer": {
        "name": "Roger Meier",
        "email": "roger@apache.org",
        "time": "Sun May 27 18:05:16 2012 +0000"
      },
      "message": "THRIFT-1612 Base64 encoding is broken\nPatch: Andrew Cox\n\ngit-svn-id: https://svn.apache.org/repos/asf/thrift/trunk@1343074 13f79535-47bb-0310-9956-ffa450edef68\n"
    },
    {
      "commit": "2d59b9e2ad05113410a7e505b052512004090261",
      "tree": "0cf1af5daa4b6429d7af422bb07f5d03805e8ff4",
      "parents": [
        "b6617836d4bd1ff4788bd63eea4cec1378d14c3b"
      ],
      "author": {
        "name": "Roger Meier",
        "email": "roger@apache.org",
        "time": "Wed May 23 19:40:40 2012 +0000"
      },
      "committer": {
        "name": "Roger Meier",
        "email": "roger@apache.org",
        "time": "Wed May 23 19:40:40 2012 +0000"
      },
      "message": "THRIFT-1336 thrift: added server and processor test code\nrevert partly: disable processor test, it breaks the builds\n\ngit-svn-id: https://svn.apache.org/repos/asf/thrift/trunk@1341996 13f79535-47bb-0310-9956-ffa450edef68\n"
    },
    {
      "commit": "dd16f0538b14109a8ecc710bccd5c02cfa18b313",
      "tree": "8f6749d9e4fbd276c10cfe3211d6bfe5a227f6cf",
      "parents": [
        "4f260f7a5f65971b407947398bbc2fed79064919"
      ],
      "author": {
        "name": "Roger Meier",
        "email": "roger@apache.org",
        "time": "Fri May 11 14:19:48 2012 +0000"
      },
      "committer": {
        "name": "Roger Meier",
        "email": "roger@apache.org",
        "time": "Fri May 11 14:19:48 2012 +0000"
      },
      "message": "THRIFT-1336 thrift: added server and processor test code\n\nlast commit was wrong! otherway around!\ndisable concurrency instead of processor_test ... does not run properly on build slaves\n\ngit-svn-id: https://svn.apache.org/repos/asf/thrift/trunk@1337177 13f79535-47bb-0310-9956-ffa450edef68\n"
    },
    {
      "commit": "4f260f7a5f65971b407947398bbc2fed79064919",
      "tree": "e1e642fc63f6ef2690b6adeb0ea04b2fd54ab8cf",
      "parents": [
        "6bb0a7a34a38484132e044bb8d09830198135473"
      ],
      "author": {
        "name": "Roger Meier",
        "email": "roger@apache.org",
        "time": "Fri May 11 13:50:11 2012 +0000"
      },
      "committer": {
        "name": "Roger Meier",
        "email": "roger@apache.org",
        "time": "Fri May 11 13:50:11 2012 +0000"
      },
      "message": "THRIFT-1336 thrift: added server and processor test code\n\ndisable processor_test ... does not run properly on build slaves\n\ngit-svn-id: https://svn.apache.org/repos/asf/thrift/trunk@1337162 13f79535-47bb-0310-9956-ffa450edef68\n"
    },
    {
      "commit": "2b1a5289a7aa61377f2d20ee8dfffd72310cc886",
      "tree": "a9ce76cdd0eb464f284666080f8378d50a9f0ce6",
      "parents": [
        "96efc26a3cc14e5b3a8a3f7c08cc2082ed42d197"
      ],
      "author": {
        "name": "Roger Meier",
        "email": "roger@apache.org",
        "time": "Fri May 11 10:12:39 2012 +0000"
      },
      "committer": {
        "name": "Roger Meier",
        "email": "roger@apache.org",
        "time": "Fri May 11 10:12:39 2012 +0000"
      },
      "message": "THRIFT-1336 thrift: added server and processor test code\n\nmove the tests from src to test:\nlib\\cpp\\src\\thrift\\concurrency\\test to lib\\cpp\\test\\concurrency\nlib\\cpp\\src\\thrift\\processor\\test to lib\\cpp\\test\\processor\n\ngit-svn-id: https://svn.apache.org/repos/asf/thrift/trunk@1337098 13f79535-47bb-0310-9956-ffa450edef68\n"
    },
    {
      "commit": "12d705390d24359900256ceda15e00de4df4a6cd",
      "tree": "62922ea60d20e328b29a907f9040f40c4da57553",
      "parents": [
        "a99027c708f3d920db68d72966e5bd221b7440e1"
      ],
      "author": {
        "name": "Roger Meier",
        "email": "roger@apache.org",
        "time": "Wed Dec 14 23:35:28 2011 +0000"
      },
      "committer": {
        "name": "Roger Meier",
        "email": "roger@apache.org",
        "time": "Wed Dec 14 23:35:28 2011 +0000"
      },
      "message": "THRIFT-1461 Recent TNonblockingServer changes broke --enable-boostthreads\u003dyes, Windows\nPatch: Alexandre Parenteau\n\ngit-svn-id: https://svn.apache.org/repos/asf/thrift/trunk@1214547 13f79535-47bb-0310-9956-ffa450edef68\n"
    },
    {
      "commit": "ea949fbaf915f04b584efe24a9706586b53193a5",
      "tree": "0f7fb9a50ef98f34bf723a7372730bd9ea83ffac",
      "parents": [
        "3371925d1804e6b7a4e94ef928ea897ded5e09fb"
      ],
      "author": {
        "name": "Jake Farrell",
        "email": "jfarrell@apache.org",
        "time": "Tue Dec 13 20:02:33 2011 +0000"
      },
      "committer": {
        "name": "Jake Farrell",
        "email": "jfarrell@apache.org",
        "time": "Tue Dec 13 20:02:33 2011 +0000"
      },
      "message": "Thrift-1462: add more strict compiler flags\n\nReverting patch due to it breaking compilers older than 4.4 (os x, centos 5.x, etc)\n\n\n\ngit-svn-id: https://svn.apache.org/repos/asf/thrift/trunk@1213901 13f79535-47bb-0310-9956-ffa450edef68\n"
    },
    {
      "commit": "ca10fd4a51b218accd2f616b89ce76464f7e847a",
      "tree": "eb661b2932f30eea6eb6dd20b4bc11787d269131",
      "parents": [
        "611f90cf9ee177367d6b1f53d2ebb8493b44eec1"
      ],
      "author": {
        "name": "Roger Meier",
        "email": "roger@apache.org",
        "time": "Mon Dec 12 22:00:23 2011 +0000"
      },
      "committer": {
        "name": "Roger Meier",
        "email": "roger@apache.org",
        "time": "Mon Dec 12 22:00:23 2011 +0000"
      },
      "message": "THRIFT-1462 add more strict compiler flags(-Wall -Wextra -std\u003dc++0x -pedantic)\n\ngit-svn-id: https://svn.apache.org/repos/asf/thrift/trunk@1213459 13f79535-47bb-0310-9956-ffa450edef68\n"
    },
    {
      "commit": "3fc481961778b1ec5faebd2b42d9a15d8b875e35",
      "tree": "e00475324789dd088512606eda83f18bc3a515aa",
      "parents": [
        "1d282a95c604019cc7b4f885738daa61b7974ca4"
      ],
      "author": {
        "name": "Roger Meier",
        "email": "roger@apache.org",
        "time": "Sun Dec 11 21:05:35 2011 +0000"
      },
      "committer": {
        "name": "Roger Meier",
        "email": "roger@apache.org",
        "time": "Sun Dec 11 21:05:35 2011 +0000"
      },
      "message": "THRIFT-1272 add subclass of ReadWriteMutex that avoids writer\nstarvation\nPatch: Dave Watson\n\ngit-svn-id: https://svn.apache.org/repos/asf/thrift/trunk@1213067 13f79535-47bb-0310-9956-ffa450edef68\n"
    },
    {
      "commit": "38315786e5c9e972aef50433b401dcff23259cae",
      "tree": "28dc13bba5655cab8c1c12ad67d7e0bd87fbaba6",
      "parents": [
        "1b6153bdd145be14ce2a58cee2858d07ae60b829"
      ],
      "author": {
        "name": "Roger Meier",
        "email": "roger@apache.org",
        "time": "Sun Nov 06 11:29:41 2011 +0000"
      },
      "committer": {
        "name": "Roger Meier",
        "email": "roger@apache.org",
        "time": "Sun Nov 06 11:29:41 2011 +0000"
      },
      "message": "THRIFT-1361 Optional replacement of pthread by boost::thread\nPatch: Alexandre Parenteau\nrev3\n\ngit-svn-id: https://svn.apache.org/repos/asf/thrift/trunk@1198339 13f79535-47bb-0310-9956-ffa450edef68\n"
    },
    {
      "commit": "9e0f0743f377e59ee2aa21666c18bb3b092661f5",
      "tree": "1a2ad707be026990e5651947ff689b6089896121",
      "parents": [
        "345ecc739ab145f9a0e7c27bbcb4ee72ccd3a86b"
      ],
      "author": {
        "name": "Roger Meier",
        "email": "roger@apache.org",
        "time": "Wed Aug 03 17:36:55 2011 +0000"
      },
      "committer": {
        "name": "Roger Meier",
        "email": "roger@apache.org",
        "time": "Wed Aug 03 17:36:55 2011 +0000"
      },
      "message": "THRIFT-1256 Unit Test Logging Output for CI\npass BOOST environment variables to the test suite arguments and create a tests.xml with the results\n\ngit-svn-id: https://svn.apache.org/repos/asf/thrift/trunk@1153594 13f79535-47bb-0310-9956-ffa450edef68\n"
    },
    {
      "commit": "af65f1b4781a6f7761617e67f5604413f65ceb8d",
      "tree": "8962eaf103bcd90744cbc4c6d5a3817d91e7f371",
      "parents": [
        "fea49cb8409167636a94e25f5657aeee58587f6e"
      ],
      "author": {
        "name": "Christian Lavoie",
        "email": "clavoie@apache.org",
        "time": "Wed Nov 24 21:58:05 2010 +0000"
      },
      "committer": {
        "name": "Christian Lavoie",
        "email": "clavoie@apache.org",
        "time": "Wed Nov 24 21:58:05 2010 +0000"
      },
      "message": "THRIFT-916: Commit a partial fix for flex-generated code infested with warnings on Mac OS X\n\ngit-svn-id: https://svn.apache.org/repos/asf/thrift/trunk@1038844 13f79535-47bb-0310-9956-ffa450edef68\n"
    },
    {
      "commit": "4f42ef7aa593b20fa17ad542f53c296032955fb7",
      "tree": "bcb1217771ff0bc22c18c0462be2a88ec728a944",
      "parents": [
        "5aaa02166e335d6399c7345bbd8f3d83d4e481fa"
      ],
      "author": {
        "name": "Christian Lavoie",
        "email": "clavoie@apache.org",
        "time": "Thu Nov 04 18:51:42 2010 +0000"
      },
      "committer": {
        "name": "Christian Lavoie",
        "email": "clavoie@apache.org",
        "time": "Thu Nov 04 18:51:42 2010 +0000"
      },
      "message": "THRIFT-953: Fix compilation of TransportTest.cpp on Mac (actual tests still fail) and fix boost m4 macros for Mac.\n\ngit-svn-id: https://svn.apache.org/repos/asf/thrift/trunk@1031148 13f79535-47bb-0310-9956-ffa450edef68\n"
    },
    {
      "commit": "709b69f14c7c69b83e1752212bf51b4da67db834",
      "tree": "c9f04bd0d15b25832de0b8417d62eda12644d989",
      "parents": [
        "0e0eb354527cecdc22d1c0e6ecba06d7f747e728"
      ],
      "author": {
        "name": "David Reiss",
        "email": "dreiss@apache.org",
        "time": "Wed Oct 06 17:10:30 2010 +0000"
      },
      "committer": {
        "name": "David Reiss",
        "email": "dreiss@apache.org",
        "time": "Wed Oct 06 17:10:30 2010 +0000"
      },
      "message": "THRIFT-926. cpp: Fix destructor behavior of TFileTransport\n\nSet closing_ to true before we wake up the writer thread in the\ndestructor.  This way the writer thread flushes the data and exits when\nit is woken up.\n\nPreviously the writer thread could end up going through 2 full timeout\ncycles before exiting.  The writer thread could wake up, notice it has\nnothing to do since closing_ is not set, and immediately go back to\nsleep.  The destructor would then proceed to call flush(), which would\nwait for the writer thread to wake up (1 full time out) and clear the\nforceFlush_ flag.  After flush returns, the destructor would set\nclosing_.  It could take the writer thread another full timeout to wake\nup again and process this flag.\n\nThere were also some points where the worker threads would detect the\nclosing_ state in their loops and automatically close the file, but did\nnot zero out the file descriptor, then the destructer attempted to close\nthe same file.  Fix by simply zeroing out the fd_ at these points.\n\ngit-svn-id: https://svn.apache.org/repos/asf/incubator/thrift/trunk@1005154 13f79535-47bb-0310-9956-ffa450edef68\n"
    },
    {
      "commit": "9a961e7750bd9d0393802df4d7a3bb6996a3339b",
      "tree": "472f07117c164d728f470fa2b967c54a9374c47c",
      "parents": [
        "3cc9dab229951aecf59cd229a45007013cb57fba"
      ],
      "author": {
        "name": "David Reiss",
        "email": "dreiss@apache.org",
        "time": "Wed Oct 06 17:10:23 2010 +0000"
      },
      "committer": {
        "name": "David Reiss",
        "email": "dreiss@apache.org",
        "time": "Wed Oct 06 17:10:23 2010 +0000"
      },
      "message": "THRIFT-929. cpp: Convert ZlibTest to use the boost unit test framework\n\ngit-svn-id: https://svn.apache.org/repos/asf/incubator/thrift/trunk@1005149 13f79535-47bb-0310-9956-ffa450edef68\n"
    },
    {
      "commit": "35dc7695a95e4e0c3e311faca5341a2e365b9ea0",
      "tree": "8e2c4355bdc06ae32911705e815d98769accc105",
      "parents": [
        "105961de04cf064981b70e8ec8458c196e0ee17e"
      ],
      "author": {
        "name": "David Reiss",
        "email": "dreiss@apache.org",
        "time": "Wed Oct 06 17:10:19 2010 +0000"
      },
      "committer": {
        "name": "David Reiss",
        "email": "dreiss@apache.org",
        "time": "Wed Oct 06 17:10:19 2010 +0000"
      },
      "message": "THRIFT-929. cpp: Add unit test for transport functionality\n\nTests various transport types by writing data, and verifying it can be\nread back successfully.  Tests both virtual calls (accessed as\nTTransport*) and non-virtual calls (accessed as the appropriate pointer\ntype, or as TBufferBase* when appropriate).\n\nThis is similar to some of the tests already performed in\nTMemoryBufferTest and ZlibTest.cpp.  However, this tests a few more\ntransport types, and it interleaves read and write calls more heavily.\n(It currently exposes some bugs in flush() in a couple transports.) It\nalso exercises both the virtual and non-virtual code paths, now that\nread() and write() only result in virtual calls when invoked on a\nTTransport*.\n\nTFileTransport currently has several race condition bugs, so most of the\nTFileTransport tests ususally fail.  It also has some performance bugs,\ncausing the TFileTransport tests to take a long time.  Will fix those\nissues separately.\n\ngit-svn-id: https://svn.apache.org/repos/asf/incubator/thrift/trunk@1005146 13f79535-47bb-0310-9956-ffa450edef68\n"
    },
    {
      "commit": "e71115be6caa2f3afd6fa092a09fd41c2c355691",
      "tree": "e4eae6a053b7a04a0734685f3e58733630fbca81",
      "parents": [
        "6806fb836a6a846ae450f06a22deef1e59c2a983"
      ],
      "author": {
        "name": "David Reiss",
        "email": "dreiss@apache.org",
        "time": "Wed Oct 06 17:09:56 2010 +0000"
      },
      "committer": {
        "name": "David Reiss",
        "email": "dreiss@apache.org",
        "time": "Wed Oct 06 17:09:56 2010 +0000"
      },
      "message": "THRIFT-922. cpp: Templatize binary and compact protocol\n\nConvert TBinaryProtocol and TCompactProtocol to template classes, taking\nthe transport class as a template parameter.  This allows them to make\nnon-virtual calls when using the template, improving serialization\nperformance.\n\ngit-svn-id: https://svn.apache.org/repos/asf/incubator/thrift/trunk@1005136 13f79535-47bb-0310-9956-ffa450edef68\n"
    },
    {
      "commit": "8a441a46ad56b6f1f9d15ecadcc604a8b4c27c59",
      "tree": "5aa5d28a4c5530e0109ee820a6e435fe0caccf35",
      "parents": [
        "5bb525ccf938e3b183814f92097a96bb85941e07"
      ],
      "author": {
        "name": "Roger Meier",
        "email": "roger@apache.org",
        "time": "Mon Oct 04 21:13:36 2010 +0000"
      },
      "committer": {
        "name": "Roger Meier",
        "email": "roger@apache.org",
        "time": "Mon Oct 04 21:13:36 2010 +0000"
      },
      "message": "THRIFT-940 use BOOST_LDFLAGS for unit tests, required to build on Mac OS X\n\nPatch: Christian Lavoie\n\n\ngit-svn-id: https://svn.apache.org/repos/asf/incubator/thrift/trunk@1004431 13f79535-47bb-0310-9956-ffa450edef68\n"
    },
    {
      "commit": "351e22b52afcbe9b40e0933f80b06b479dff50f4",
      "tree": "bf08ca7a10a6adca594d44ae22111008f2ccb0ee",
      "parents": [
        "f261dd795c4004c72c7efd66c4b09f66299bfc83"
      ],
      "author": {
        "name": "David Reiss",
        "email": "dreiss@apache.org",
        "time": "Tue Aug 31 16:51:19 2010 +0000"
      },
      "committer": {
        "name": "David Reiss",
        "email": "dreiss@apache.org",
        "time": "Tue Aug 31 16:51:19 2010 +0000"
      },
      "message": "THRIFT-503. cpp: Move the tests built by \"make check\" under lib/cpp\n\ngit-svn-id: https://svn.apache.org/repos/asf/incubator/thrift/trunk@991246 13f79535-47bb-0310-9956-ffa450edef68\n"
    }
  ]
}
