- 09 Sep, 2014 4 commits
-
-
Jez Ng authored
Summary: The test runner for folly seems to run from folly/test rather than the base fbcode directory. This hack ensures that we find the necessary test files in either case. This fixes the breakage introduced by {D1493963}. Test Plan: fbconfig -r folly && fbmake runtests Reviewed By: davejwatson@fb.com Subscribers: dipanshu FB internal diff: D1502161
-
Andrey Kashin authored
Summary: Currently folly::Synchronized can't be used with non-default constructible types because copy and move constructors require creation of datum_ before it's assignment. To fix this we can initialize them in initializer-list and handle guard creation using helper constructor Test Plan: fbconfig -r folly && fbmake runtests Fixes compilation error: Synchronized started working for non-default constructible types in my project(rfe). Reviewed By: yuri@fb.com Subscribers: dhruvbird FB internal diff: D1502110
-
Darren Mo authored
Summary: Added support for clang in Checksum.cpp preprocessor statements. Test Plan: The right code path is chosen using both gcc and clang now. Reviewed By: brianp@fb.com Subscribers: mathieubaudet, sroy, satadru FB internal diff: D1502289
-
Jez Ng authored
Summary: Comments are a useful extension to JSON, especially for configuration files. Facebook: twagent would previously barf on JSON files that contained '//' in their strings, and this commit allows twagent to strip comments properly. Fixes T4686066. Test Plan: fbconfig common/json mcrouter/lib/config tupperware/agent && fbmake runtests Reviewed By: aravindn@fb.com Subscribers: anarayanan, pavlo, stepan, dipanshu, alikhtarov FB internal diff: D1493963 Tasks: 4686066
-
- 15 Aug, 2014 5 commits
-
-
Sara Golemon authored
-
Sara Golemon authored
Summary: It eventually tries to read from /sys/devices which is not portable. Let's just fall back to sysconf/CacheLocality::uniform. This fixes a runtime crash on OSX, but CYGWIN/BSD were probably also affected. Closes #80 @override-unit-failures Test Plan: author tested, contbuild, flib Reviewed By: joelm@fb.com FB internal diff: D1498567
-
Sara Golemon authored
Summary: This is a known issue on Darwin @override-unit-failures Test Plan: folly/detail/IPAddress.h compiles on a mac Reviewed By: joelm@fb.com FB internal diff: D1499795
-
Sara Golemon authored
-
Daniel Sloof authored
Summary: Fixes the OSX build. Closes #79 Test Plan: author tested, contbuild, flib Reviewed By: joelm@fb.com FB internal diff: D1498545
-
- 14 Aug, 2014 25 commits
-
-
Sara Golemon authored
-
Hannes Roth authored
Summary: Less generic than I hoped for. Naming is terrible. Test Plan: `fbconfig -r tao/client && fbmake runtests` -- I figured if it compiles it works. Also did a `--sanitize=address` build just in case. Reviewed By: hans@fb.com Subscribers: fugalh, zhuohuang, anca FB internal diff: D1470483
-
Philip Pronin authored
Summary: D1494614 migrated us to gtest 1.7 which broke multiple builds (with "error: 'tuple' is already declared in this scope" coming from https://code.google.com/p/googletest/source/detail?spec=svn621&r=621). This diff makes folly compatible with both versions of gtest, and the rest of fbcode is now compatible with gtest 1.7. Test Plan: fbconfig -r folly unicorn/diskindex4 && fbmake opt -j32 Reviewed By: jiayan@fb.com Subscribers: fbcode-common-diffs@, chaoyc, search-fbcode-diffs@, sdoroshenko, cold-storage-diffs@, unicorn-diffs@ FB internal diff: D1497389 Tasks: 4909974, 4910547, 4910567, 4909983
-
Ranjeeth Dasineni authored
Summary: adding @agartrell's implementation of EvictingCacheMap to folly. Its a general purpose cache with LRU eviction. It maintains a doubly linked list threaded throught a hash map using boost::intrusive. set, get and delete are all constant time operations. It is not thread safe. Configurability: It allows callers to specify a hasher for the keys, has callbacks for eviction events and the number of evictions on reaching a capacity limit is configurable. resizing for a higher capacity though could be suboptimal since index is not resized accordingly and you could end up with a bad load factor. Test Plan: unit tests Reviewed By: tulloch@fb.com, njormrod@fb.com Subscribers: tulloch, chrisbray, mhx, doug, agartrell FB internal diff: D1483789
-
Josh Watzman authored
Summary: OS X doesn't support this -- it requires support at the linker level which OS X just doesn't have. Reasonable OS X compilers will yell about it, but even the ones that don't are just silently dropping it on the floor. So I'm not sure what //we// can do other than just silently dropping this on the floor too and hoping that everything works. Test Plan: HHVM build on OS X gets ever so slightly further (runs into other issues). HHVM build in fbcode still seems to build folly okay (didn't wait for it to finish fully). Fixes https://github.com/facebook/folly/issues/78 Reviewed By: tudorb@fb.com FB internal diff: D1487191 Blame Revision: rFBCODE502be7cb0fda306ddc33b9c5ad7a53b0cfbdc893
-
Brian Pane authored
Summary: * Spend some extra time in getNumBuckets() in order to save space: 8 bytes per object on 64-bit platforms. Test Plan: Ran the unit tests Reviewed By: simpkins@fb.com Subscribers: ruibalp FB internal diff: D1488345
-
Lucian Grijincu authored
Test Plan: n.a Reviewed By: philipp@fb.com FB internal diff: D1487919
-
Nathan Bronson authored
Summary: This diff changes LOG_EVERY_MS so that if the specified interval is zero or negative, no clock call is made and LOG(severity) is always called. milli_interval is copied into a temporary to avoid double-evaluation. Test Plan: 1. unit tests 2. new unit test Reviewed By: lesha@fb.com FB internal diff: D1469366 Tasks: 4813858
-
Chip Turner authored
Summary: clang would re-use the same memory location for recreated objects, so instead of checking pointers, we can use a serial number. Test Plan: runtests with fbconfig --clang Reviewed By: lins@fb.com Subscribers: mathieubaudet, lins, anca FB internal diff: D1485907
-
Marc Celani authored
Summary: Save space and avoid extra mallocs Test Plan: fbconfig -r smc/zeus; fbmake runtests Reviewed By: henryf@fb.com Subscribers: zeus-diffs@ FB internal diff: D1476688 Tasks: 4832974
-
Sarang Masti authored
Summary: This diff adds timed_wait that allows waiting on the Baton with a timeout. The diff also adds try_wait which doesn't block the thread at all. Test Plan: -- added new unit tests -- ran all folly tests Reviewed By: ngbronson@fb.com Subscribers: bwatling FB internal diff: D1468909 Tasks: 4679428
-
Philip Pronin authored
Summary: Renamed `goTo` to `jump`, introduced `jumpTo`. FBCode: Updated CSS tree benchmark to compare with EF-based search that is using `jumpTo` (P14517259). Test Plan: fbconfig -r folly/experimental/test:eliasfano_test && fbmake runtests_opt -j32 @override-unit-failures Reviewed By: lucian@fb.com Subscribers: fbcode-common-diffs@ FB internal diff: D1474431 Tasks: 4536072
-
Henry Filgueiras authored
Summary: Currently IPAddress::toFullyQualified() is fairly slow for IPv6. Change here implements more lightweight in_addr/in6_addr to string functions. I also added a benchmark for comparison with inet_ntop. This makes IPAddressV6::toFullyQualified() significantly faster than inet_ntop, and makes IPAddressV4::str() ~20ns faster than previous impementation (previously ~80ns). Previous benchmark: ============================================================================ folly/test/IPAddressBenchmark.cpp relative time/iter iters/s ============================================================================ ipv4_to_string_inet_ntop 238.91ns 4.19M ipv4_to_fully_qualified 289.96% 82.39ns 12.14M ---------------------------------------------------------------------------- ipv6_to_string_inet_ntop 780.72ns 1.28M ipv6_to_fully_qualified 51.11% 1.53us 654.59K ============================================================================ With this change: ============================================================================ folly/test/IPAddressBenchmark.cpp relative time/iter iters/s ============================================================================ ipv4_to_string_inet_ntop 238.06ns 4.20M ipv4_to_fully_qualified 364.76% 65.26ns 15.32M ---------------------------------------------------------------------------- ipv6_to_string_inet_ntop 770.74ns 1.30M ipv6_to_fully_qualified 791.63% 97.36ns 10.27M ============================================================================ Test Plan: fbconfig folly/test:network_address_test folly/test:network_address_benchmark fbmake runtests_opt Reviewed By: simpkins@fb.com Subscribers: ps, bmatheny FB internal diff: D1477925 Tasks: 4832974
-
Jim Meyering authored
Summary: * folly/test/AtomicHashArrayTest.cpp (MmapAllocator): Upon failure, mmap returns MAP_FAILED, not NULL. Test Plan: fbconfig -r folly/test:atomic_hash_array_test && fbmake runtests Reviewed By: mwang@fb.com FB internal diff: D1481080 Tasks: 4846893
-
Philip Pronin authored
Test Plan: fbconfig -r folly/experimental/test:eliasfano_test && fbmake opt -j32 Reviewed By: lucian@fb.com Subscribers: chaoyc, search-fbcode-diffs@, unicorn-diffs@ FB internal diff: D1474625 Tasks: 4828866
-
Jim Meyering authored
Summary: * folly/IndexedMemPool.h (IndexedMemPool): Correct the test for failed mmap. Upon failure, it returns MAP_FAILED, not nullptr. Test Plan: fbconfig -r folly/test:indexed_mem_pool_test && fbmake runtests Reviewed By: ngbronson@fb.com FB internal diff: D1480389 Tasks: 4846893 @override-unit-failures
-
Marc Celani authored
Summary: Adds a shrink_to_fit() method to sorted vector types. Test Plan: unit test Reviewed By: mshneer@fb.com FB internal diff: D1477864
-
Marc Horowitz authored
Summary: Consider this use case: thread 1: make an evb create and start thread 2 do some work evb->terminateLoopSoon() join thread 2 with a timeout thread 2: do some initialization evb->loop() Normally, this all works fine. However, if the work thread 1 has to do is sufficiently small, and no external input occurs (one of the thing the evb is doing is listening on a socket), then sometimes, terminateLoopSoon() happens before loop() is called (or at least, before loopThread_.store() happens). isRunning() in terminateLoopSoon() is false, and so stop_ is never set, and event_base_loopbreak() is never called. The join times out, and thread 2 is still running. Removing the isRunning() check gives the desired behavior. Test Plan: In my ad hoc tests, this fix caused my threads to exit when I wanted them to exit in a situation like the one above. Reviewed By: andrewcox@fb.com FB internal diff: D1455885 Tasks: 2057547
-
Ranjeeth Dasineni authored
Summary: I don't know why this was in the cpp but seems pretty safe to move it to the .h There are a few files that directly include json.cpp to get around this: https://fburl.com/30544625. I need it for something else and if you dont see a problem I want to move it. Test Plan: unittests Reviewed By: pgriess@fb.com Subscribers: simpkins, doug FB internal diff: D1471958 Tasks: 3623725
-
Philip Pronin authored
Summary: Random lookup support. Test Plan: fbconfig -r folly/experimental/test:eliasfano_test && fbmake runtests_opt -j32 @override-unit-failures Reviewed By: soren@fb.com FB internal diff: D1473244 Tasks: 4536072
-
Hitesh Khandelwal authored
Test Plan: Tested end-to-end with D1342452 Reviewed By: mshneer@fb.com Subscribers: alandau, bmatheny FB internal diff: D1470814 Tasks: 2682011
-
Dave Watson authored
Summary: added recently, needs to be installed Test Plan: watch fbthrift contbuild Reviewed By: noamz@fb.com Subscribers: doug FB internal diff: D1469760 Blame Revision: D1453095
-
Rushi Desai authored
Summary: It would be nice to be able to create a Later with pre-loaded exception. Test Plan: Unit test Reviewed By: hans@fb.com Subscribers: fugalh FB internal diff: D1462810
-
Alan Frindell authored
Summary: This doesn't have many thrift dependencies and I need it for another async class I'm adding to folly. Test Plan: unit tests Reviewed By: alandau@fb.com Subscribers: doug, mcduff, marccelani, mshneer, alandau, bmatheny FB internal diff: D1453095
-
Marc Celani authored
Summary: Checks if IPAddress has not been initialized. Test Plan: unit test Reviewed By: tudorb@fb.com Subscribers: tudorb FB internal diff: D1459525
-
- 25 Jul, 2014 6 commits
-
-
Chip Turner authored
-
Chip Turner authored
Summary: Singletons are surprisingly tricky in a codebase where libraries depend on one another. folly::Singleton hopes to make this process more reliable by ensuring object creation happens in a safe order, that destruction is possible, and that singletons are created on-demand. The basic fbcode use intention is to invoke registration completion in initFacebook, so users need only declare singletons via Singleton<ClassName> in their .cpp files. This diff ties the Singletons into the core Init process, but not hhvm (which will be a separate diff). Test Plan: runtests Reviewed By: joelm@fb.com, hans@fb.com Subscribers: fbcode-common-diffs@, hphp-diffs@, soren, anca, lins, aalexandre, ps, trunkagent, lucian, hannesr, yfeldblum, maxwellsayles FB internal diff: D1453135
-
Jun LI authored
Summary: Add a method to folly::Uri to get parsed query string e.g. http://localhost?key1=foo&key2=bar We can get key value map containing: "key1" => "foo" "key2" => "bar" Test Plan: fbconfig folly/test fbmake runtests_dbg Reviewed By: tudorb@fb.com Subscribers: wormhole-dev@ FB internal diff: D1455158 Tasks: 4768038
-
Tom Jackson authored
Summary: Sorry, forgot to include tests for the other side of the equation. Test Plan: It is a test Reviewed By: tudorb@fb.com FB internal diff: D1455583
-
Hans Fugal authored
Summary: @jcoens observed in D1451114 that it was unintuitive that you have to retrieve the `Future` before fulfilling the `Promise`. That seemed wrong to me too, but sure enough when I wrote the unit tests that doesn't work (throws "promise already fulfilled" when you call `getFuture`). I think this is just a simple mistake, but I'm going to carefully look at the output of contbuild test suites before committing. Test Plan: red-green careful dependency unit test inspection Reviewed By: jon.coens@fb.com Subscribers: net-systems@, fugalh, exa, jcoens FB internal diff: D1453780
-
Tudor Bosman authored
Summary: Also, regenerate thrift_config.h. Move .gitignore to public_tld so I can add thrift_config.h while still having it checked into fbcode. Test Plan: fbconfig -r thrift && fbmake runtests_opt Reviewed By: meyering@fb.com Subscribers: alandau, bmatheny, jhj, kma, lesha FB internal diff: D1449068
-