- 08 Nov, 2014 40 commits
-
-
Pavlo Kushnir authored
-
Nicholas Ormrod authored
Summary: Fix EOF whitespace for file in `find folly -type f` ; do if [ -z "`tail -n1 $file`" ] ; then sed -i '$d' $file ; fi ; done Test Plan: unit tests Reviewed By: robbert@fb.com Subscribers: trunkagent, sdwilsh, njormrod, folly-diffs@ FB internal diff: D1644130 Tasks: 5486739 Signature: t1:1644130:1414715392:b6c783851aa030ad1148f84a98139a5dca207da0
-
Misha Shneerson authored
Summary: title Test Plan: unit tests Reviewed By: andrei.bajenov@fb.com Subscribers: trunkagent, mcduff, hitesh, alandau, bmatheny, njormrod, mshneer, folly-diffs@, andreib, davejwatson FB internal diff: D1666499 Tasks: 5563183 Signature: t1:1666499:1415347256:d58c8bbe952385c1c96f7f8cc6ae7f02216c56bb
-
Dave Watson authored
Summary: One of the last thrift -> folly moves. The only change was the exception types - there are small wrapper classes in thrift/lib/cpp/async left to convert from AsyncSocketException to TTransportException. Test Plan: run unit tests Reviewed By: dcsommer@fb.com Subscribers: jdperlow, trunkagent, doug, bmatheny, ssl-diffs@, njormrod, mshneer, folly-diffs@, fugalh, jsedgwick, andrewcox, alandau FB internal diff: D1632425 Signature: t1:1632425:1414526483:339ae107bacb073bdd8cf0942fd0f6b70990feb4
-
Tom Jackson authored
Summary: Not needed, I don't know why I put them there before. Test Plan: Run the unit test Reviewed By: njormrod@fb.com Subscribers: njormrod, folly-diffs@ FB internal diff: D1665689 Tasks: 5487902 Signature: t1:1665689:1415323144:0998e7f700a3b40652615a36c3b9c9f661fbdadf
-
Daniel Sommermann authored
Summary: There was a bit of gap in test coverage for bracketed ipv6 Test Plan: unit tests Reviewed By: viswanath@fb.com Subscribers: doug, ps, bmatheny, njormrod, folly-diffs@ FB internal diff: D1664783 Signature: t1:1664783:1415316694:b17e0dc1fcfece06c6e04e5f65e2095c66d28cc4
-
Dmitry Panin authored
Summary: `bm_max_secs` has type int32 So when this value is more than 2, expression ``` FLAGS_bm_max_secs * 1000000000; ``` overflows Test Plan: I did put a ``` LOG(INFO) << timeBudgetInNs; ``` and observed correct values (before fix they were overflowed) Reviewed By: antonl@fb.com Subscribers: njormrod, folly-diffs@ FB internal diff: D1663247 Signature: t1:1663247:1415261814:c9154ffde183b2a4f5403e534e47e52e8276c61b
-
Philip Pronin authored
Summary: This diff updates `folly::CpuId` with support of extended features (EAX = 7, ECX = 0) to provide detection logic for BMI1 introduced in Haswell, and provides support for `BLSR` instruction in `EliasFanoReader`. Test Plan: I used clang to compile the logic and run unittests Reviewed By: lucian@fb.com Subscribers: fbcode-common-diffs@, trunkagent, chaoyc, search-fbcode-diffs@, unicorn-diffs@, njormrod, folly-diffs@ FB internal diff: D1658100 Signature: t1:1658100:1415126635:d1820b8eb41c9e9786b5c8062b801cf1e2049a97
-
Hans Fugal authored
Summary: `calledBack_` could be seen as true by both threads in this conditional. Classic rookie mistake. :-/ Test Plan: run unit tests Reviewed By: darshan@fb.com Subscribers: trunkagent, hannesr, net-systems@, fugalh, exa, njormrod, folly-diffs@ FB internal diff: D1661199 Tasks: 5542938, 5506504 Signature: t1:1661199:1415215840:fb69f56c8cf6f59beeca809724ce015b5260d9ad Blame Revision: D1636487
-
Brian Watling authored
Summary: Switch from dynamically allocating a File to using a raw fd for readRandomDevice. This prevents races at shutdown while also eliminating the memory leak Test Plan: run unit tests Reviewed By: meyering@fb.com Subscribers: njormrod, folly-diffs@, tao-eng@ FB internal diff: D1662151 Signature: t1:1662151:1415229242:525b6294b27bb68b5dda70aadb8d3ba1cc61b815
-
Brian Watling authored
Summary: The comment in readRandomDevice() lies - the PCHECK fails with "Bad file descriptor" in some tests. This is most likely due to a race where a background thread is calling readRandomDevice() while the main thread shuts down. Another possibility is bad destruction order, where rnadomDevice is destroyed before some other static object whose destructor calls readRandomDevice(). Either way, this fixes it without having to chace down every instance. Test Plan: run unit tests Reviewed By: meyering@fb.com Subscribers: antonl, trunkagent, meyering, simpkins, njormrod, folly-diffs@, tao-eng@ FB internal diff: D1660903 Signature: t1:1660903:1415215895:7f1f96ab7416b45c4dc18e78173fb59eb27bd03b
-
Hans Fugal authored
Summary: Race in `++ctx->count == ctx->total`. This ordering, while not very obvious or likely, is possible: T1 T2 -- -- ++ctx->count ++ctx->count ctx->total == setValue delete ctx ctx->total == setValue delete ctx Test Plan: That's the idea, anyway. I need some sleep, and it takes 20 minutes to build and test. I had a more convoluted fix (using `shared_ptr`) and it did seem to fix the error we were seeing, but I was seeing another error. Reviewed By: darshan@fb.com Subscribers: trunkagent, net-systems@, fugalh, exa, njormrod, folly-diffs@ FB internal diff: D1660663 Tasks: 5506504 Signature: t1:1660663:1415207632:49dc224363cec27736fc71fb211fa846be9e170f Blame Revision: D1636487
-
Lucian Grijincu authored
folly: wangle: NamedThreadFactory: store of the thread prefix locally, don't assume they'll live forever Summary: There's no real reason to store this as a StringPiece, is there? Test Plan: n/a Reviewed By: sdoroshenko@fb.com, robot9@fb.com Subscribers: fugalh, njormrod, folly-diffs@ FB internal diff: D1659558 Tasks: 5538418 Signature: t1:1659558:1415147560:2c5b0c996893854c3ea9d0ad02b006bcc5960ffa
-
Nicholas Ormrod authored
Summary: There are two types of licenses used in folly, only one of which is accepted by the linter. This diff changes the license notices in pre-existing folly files! Many folly/io/async/* files have the second type of license, but without a Copyright notice. I have added copyright notices to these files. I have also added a compliant notice to folly/test/function_benchmark/benchmark_impl.h, which was the sole file in folly/test/function_benchmark/ that didn't have a standard license. Test Plan: The changes to folly are comment only. Run all of folly against the linter, see no more license errors. Reviewed By: davejwatson@fb.com Subscribers: trunkagent, sdwilsh, njormrod, folly-diffs@, sjenkins FB internal diff: D1648489 Tasks: 5486739 Signature: t1:1648489:1415035522:3d8bd9611eb7c7117b70d5e7f68de5768639a727
-
Nicholas Ormrod authored
Summary: Statics in headers are bad. Test Plan: run unit tests Reviewed By: robbert@fb.com Subscribers: trunkagent, sdwilsh, njormrod, folly-diffs@ FB internal diff: D1646906 Tasks: 5486739 Signature: t1:1646906:1415042805:dc4d1cec54e9320f1e609808a73622c731a4cdc9
-
Nicholas Ormrod authored
Summary: Remove the protected inheritance from folly. The code looks like the protected might be appropriate: there are some derived classes which might want access to the AsyncTimeout. Test Plan: run unit tests Reviewed By: davejwatson@fb.com Subscribers: trunkagent, sdwilsh, njormrod, folly-diffs@ FB internal diff: D1649686 Tasks: 5486739 Signature: t1:1649686:1415035288:18efd2cf9aae8caab66d8303c22cdc26c6b54ae5
-
James Sedgwick authored
Summary: I wanted some foundational abstractions to start building out codecs on top of. I also know that Blake gets very amused when I shamelessly copy Java/Netty abstractions, and I live to amuse Blake so I did it again. So here's an implementation of something very similar to Netty's ChannelAdapters/ChannelPipelines Only read() and write() for now, everything/anything else can easily be bolted on once the design is settled (if this is at all the direction we want to go) I have a lot of thoughts about this design but I'm going to save my fingers and leave that to ad hoc discussions once folks take a look at this A couple of things, though: - It should be possible to dynamically add handlers to the chain. How I envision this working is that each original adapters keeps two lists of shared/unique ptrs to adapters of the correct type to sit next to them on either side, and dispatch to them appropriately when they're there. - I was trying to do without separate ChannelHandlerContext objects altogether (keep the interface, but have ChannelPipeline act as the context itself) but ran into issues with virtual multiple inheritance. I might have another go at this. - Only movable types are permitted. I hope this won't be too restrictive, because it would be a PITA to support both move-only and copy-only types. - Why no Rx? Seems to me that any handlers that actually needs Rx (e.g. stats fanout or something) can deal with it themselves. - If it turned out to be useful to nest these (for more flexible composition) that would also be doable. i.e. ChannelPipeline<ChannelPipeline<Handler1, Handler2>, ChannelPipeline<Handler3, Handler4>> Test Plan: super basic test compiles and runs as expected Reviewed By: davejwatson@fb.com Subscribers: ajitb, folly-diffs@, ldbrandy, trunkagent, fugalh, njormrod FB internal diff: D1604575 Tasks: 5002299 Signature: t1:1604575:1415034767:bc3b12fae726890aa6a55ed391286917ae23e56e
-
Daniel Sommermann authored
Summary: Folly should be able to compile with strict flags. Test Plan: unit tests, review Reviewed By: meyering@fb.com Subscribers: meyering, trunkagent, doug, fugalh, njormrod, folly-diffs@ FB internal diff: D1627280 Signature: t1:1627280:1414792755:004f5a737ece1e93bcf4331718a98afc57e4f80c
-
James Sedgwick authored
Summary: it's useful to update the prefix after the construction. Test Plan: unit, that's it :/ Reviewed By: davejwatson@fb.com Subscribers: mshneer, folly-diffs@, wch, atlas2-eng@, everstore-dev@, wormhole-diffs@, ads-dsp-eng@, bwester, trunkagent, fugalh, alandau, njormrod, bmatheny FB internal diff: D1585087
-
Dave Watson authored
Summary: Put back previous liger diffs Test Plan: It builds Reviewed By: seanc@fb.com Subscribers: doug, ssl-diffs@, njormrod, folly-diffs@ FB internal diff: D1652754 Signature: t1:1652754:1414785984:df0fc7bf59dc2e89defd2c1a4ffe3b288238ba58
-
Nicholas Ormrod authored
Summary: Many lines that are too long contain URLs. This diff adds url-like lines to the list of exceptions to 80-char limits. It also fixed the locations in folly with line-too-long errors. Test Plan: arc lint on folly, see no line-too-long errors. Reviewed By: robbert@fb.com Subscribers: sdwilsh, njormrod, folly-diffs@ FB internal diff: D1644151 Tasks: 5486739 Signature: t1:1644151:1414779408:76bcec1d14daaa8ed071c715bf26b108c8fe4b87
-
Mark Drayton authored
Summary: Symbols which demangle to a string longer than 1024 bytes are quite common in our code. This diff increases the size of the output buffer to accommodate them. Test Plan: run it Reviewed By: lucian@fb.com Subscribers: trunkagent, njormrod, folly-diffs@ FB internal diff: D1639801 Tasks: 5464222 Signature: t1:1639801:1414784601:2f59d5a58e434f4cf9df5b25b917c5094c8b133f
-
Sachin Kadloor authored
Summary: I had committed a change by mistake. Reverting it. Test Plan: build it. Reviewed By: lakshmiganesh@fb.com Subscribers: njormrod, folly-diffs@ FB internal diff: D1652341 Signature: t1:1652341:1414779013:9f363acba95fbac1988200081659edf71ac63eec
-
Nicholas Ormrod authored
Summary: Some uses of volatile are legit. Add a hidden override. Test Plan: run unit tests Run flint against folly/Malloc.cpp, see no more volatile warning. Reviewed By: andrei.alexandrescu@fb.com Subscribers: sdwilsh, louisk, njormrod, folly-diffs@ FB internal diff: D1644493 Tasks: 5486739 Signature: t1:1644493:1414715317:491d0f631d8152a5b7ec66237e00c404530ab590
-
Dave Watson authored
Summary: add missing ssl dep Test Plan: build it Reviewed By: dcsommer@fb.com Subscribers: doug, njormrod, folly-diffs@ FB internal diff: D1652234 Signature: t1:1652234:1414778507:4504ea06c3076e0cdfa7772166cf48bc564c9076
-
Tomislav Novak authored
Summary: jemalloc seems to now use `4064 * 1024` as `arena_maxclass`. Therefore, allocations that fall in the range `(4064*1024, 4072*1024]` will trigger an assert in `folly::goodMallocSize()` (`nallocx()` will round up sizes within that range up to the next multiple of 4 MB (chunk size)). Test Plan: Call to `folly::goodMallocSize(4161568)` no longer triggeres an assert. Reviewed By: je@fb.com Subscribers: aalexandre, trunkagent, njormrod, folly-diffs@ FB internal diff: D1638370 Signature: t1:1638370:1414703429:f3ed2cc8dcb183ff4e8367e2c1f884e122605cba
-
Sachin Kadloor authored
Summary: Better logging in SocketAddress Test Plan: run it Reviewed By: qwu@fb.com Subscribers: ps, bmatheny, xning FB internal diff: D1644573 Tasks: 5406091 Signature: t1:1644573:1414626398:1e23ee85ec8ee0be89cb6bdc07da23978b4d988a
-
Nicholas Ormrod authored
Summary: Symbols containing two underscores, or starting with underscore followed by a capital letter, are reserved by the implementation. Fix the inappropriate cases, and nolint the ones which we are using correctly Test Plan: run unit tests Reviewed By: robbert@fb.com Subscribers: trunkagent, sdwilsh, njormrod, folly-diffs@ FB internal diff: D1650435 Tasks: 5486739 Signature: t1:1650435:1414713329:7844e7802ebabcac7ef21aef0becf71ba513afb0
-
Nicholas Ormrod authored
Summary: Avoid comparing-the-same-tokens error by parenthesizing one side. This diff only touches folly tests Test Plan: run unit tests Reviewed By: robbert@fb.com Subscribers: sdwilsh, njormrod, folly-diffs@ FB internal diff: D1650386 Tasks: 5486739 Signature: t1:1650386:1414713837:cbb578d23f759aa049f4246113d9da6d40504da4
-
Nicholas Ormrod authored
Summary: Switch to noexcept Test Plan: run unit tests Reviewed By: robbert@fb.com, andrei.alexandrescu@fb.com Subscribers: aalexandre, sdwilsh, njormrod, folly-diffs@ FB internal diff: D1644135 Tasks: 5486739 Signature: t1:1644135:1414715537:22e1baf91ab7e3250b0b2a460a12d56783f2baed
-
Nicholas Ormrod authored
Summary: Fix EOF whitespace for file in `find folly -type f` ; do if [ -z "`tail -n1 $file`" ] ; then sed -i '$d' $file ; fi ; done Test Plan: run unit tests Reviewed By: robbert@fb.com Subscribers: trunkagent, sdwilsh, njormrod, folly-diffs@ FB internal diff: D1644130 Tasks: 5486739 Signature: t1:1644130:1414715392:b6c783851aa030ad1148f84a98139a5dca207da0
-
Dave Watson authored
Summary: Move SSLContext to folly. Test Plan: It builds. Reviewed By: dcsommer@fb.com Subscribers: jdperlow, atlas2-eng@, wormhole-diffs@, bwester, trunkagent, doug, ps, bmatheny, ssl-diffs@, alikhtarov, njormrod, mshneer, folly-diffs@, andrewcox, alandau, jsedgwick, fugalh FB internal diff: D1631924 Signature: t1:1631924:1414616562:9a67dbf20f00eb8fbcb35880efcb94c0fae07dcc
-
Dave Watson authored
Summary: Generic 'threadlocal' like object that follows async calls around. Note: Finagle's futures do this also. It is super useful. Test Plan: I should write a unittest? Reviewed By: haijunz@fb.com, hans@fb.com Subscribers: trunkagent, dawidp, doug, fugalh, njormrod, folly-diffs@ FB internal diff: D1650843 Tasks: 4698780 Signature: t1:1650843:1414711295:c7439733680ab4903eb9c05dcf8bf52100bf3f07
-
Hans Fugal authored
Summary: Looks like a bad git merge Test Plan: builds Reviewed By: hannesr@fb.com Subscribers: hannesr, net-systems@, fugalh, exa, njormrod, folly-diffs@ FB internal diff: D1649773 Tasks: 5501131 Signature: t1:1649773:1414700920:cc691283884e9654803bba3ffe78f4553194752d
-
Nicholas Ormrod authored
Summary: operator::* needs to be explicit, or explicitly labeled implicit. The build breaks with explicit, so label. Test Plan: run unit tests Reviewed By: andrei.alexandrescu@fb.com Subscribers: sdwilsh, njormrod, folly-diffs@ FB internal diff: D1644176 Tasks: 5486739 Signature: t1:1644176:1414693471:e3a08e27ba27a5ae0e4b9a5e009acf0a16728c45
-
Nicholas Ormrod authored
Summary: Many dynamic operations, including its move constructor, are noexcept but not labeled so. Labeled some important functions as noexcept. Test Plan: run unit tests Reviewed By: delong.j@fb.com Subscribers: tudorb, philipp, sdwilsh, njormrod, folly-diffs@ FB internal diff: D1644380 Tasks: 5486739 Signature: t1:1644380:1414618757:fb910d8a3fe3e634da4215c432577edf7371be61
-
Daniel Sommermann authored
Summary: Fixed unsigned/signed compares. I had to suppress the warning in one place, but don't worry, clang supports `#pragma GCC diagnostic ...` (see http://clang.llvm.org/docs/UsersManual.html#controlling-diagnostics-via-pragmas) Test Plan: unit tests Reviewed By: afrind@fb.com Subscribers: alandau, mshneer, trunkagent, doug, jdperlow, bmatheny, njormrod, cgheorghe, folly-diffs@ FB internal diff: D1624249 Tasks: 5140804 Signature: t1:1624249:1414620209:5399e8d90d8ca32b30794a7b2a4a7c2d7d437dda
-
Nicholas Ormrod authored
Summary: Add a hidden option to suppress ###define [keyword]##, which is occasionally appropriate. Test Plan: Build flint, run it on FBString.h, see no error. Ran flint tests locally, see no errors. Reviewed By: andrei.alexandrescu@fb.com Subscribers: sdwilsh, louisk, njormrod, folly-diffs@ FB internal diff: D1644182 Tasks: 5486739 Signature: t1:1644182:1414616294:4b6004d358cba865455366f5a943644b3542ae51
-
Nicholas Ormrod authored
Summary: In certain circumstances, it is appropriate to omit and include guard. Add an option to allow this to be overriden. Test Plan: Build flint, run it on folly, see no include-guard errors. Reviewed By: andrei.alexandrescu@fb.com Subscribers: sdwilsh, louisk, njormrod, folly-diffs@ FB internal diff: D1644170 Tasks: 5486739 Signature: t1:1644170:1414616595:7ac52f474c1312a0c28e89255b1151d56c680acf
-
Nicholas Ormrod authored
Summary: Add a hidden nolint option to suppress this lint warning. It is appropriate in this case. Test Plan: Build flint, run it on ExceptionWrapperTest.cpp, see no catch lint failure Reviewed By: andrei.alexandrescu@fb.com Subscribers: sdwilsh, louisk, njormrod, folly-diffs@ FB internal diff: D1644165 Tasks: 5486739 Signature: t1:1644165:1414616664:a6b9dc34660df84b33ed8faaf48ec048a02bad01
-