- 21 Dec, 2016 1 commit
-
-
Amir Shalem authored
Summary: When reallocating new large string, using reserveLarge(), make sure to update the new capacity for the RefCounted string data to reflect the amount of data allocated by jemalloc for our block (using goodMallocSize()) Reviewed By: Gownta Differential Revision: D4355440 fbshipit-source-id: f2d58e8888e973418781220d57ff46f674e20556
-
- 20 Dec, 2016 5 commits
-
-
Eric Niebler authored
Summary: folly::FunctionRef never allocates memory and is cheaper to pass around. Use it in the interface of EventBase where we can. Reviewed By: yfeldblum Differential Revision: D4353992 fbshipit-source-id: 259c5214ed48d30981eb8e38b062aad31d80a080
-
Michael Lee authored
Summary: The sysconf return type is supposed to be long, not unsigned. Reviewed By: Orvid Differential Revision: D4350903 fbshipit-source-id: 29d86081bf75d123e76b831a669b0fd3936ce102
-
Christopher Dykes authored
Summary: Because it finds dead code. This also removes the dead code found. Reviewed By: yfeldblum Differential Revision: D4342893 fbshipit-source-id: e500734ff5927320b2356106d10016e298d67393
-
Misty De Meo authored
Summary: gflags's pkg-config file is installed by default under the name gflags.pc; however, folly has been searching for it under the name libgflags.pc. Several package managers (Homebrew, apt) install the .pc file under its default upstream name; as such it seems appropriate for folly to look for it under that name, too. refs Homebrew/homebrew-core#7977. Closes https://github.com/facebook/folly/pull/531 Reviewed By: yfeldblum Differential Revision: D4348089 Pulled By: Orvid fbshipit-source-id: 6adec290ec88b5d3f66103cf8e5094e99f2512ad
-
Guobao Sun authored
Summary: Test case ThreadLocal.SharedLibrary is failing due to looking for "thread_local_test_lib.so", while the actual .so generated is "lib_thread_local_test.so". Change Makefile.am to conform it. Reviewed By: Orvid Differential Revision: D4350758 fbshipit-source-id: 9a2a23325059ed71529821620398ffa6ed84f83e
-
- 19 Dec, 2016 3 commits
-
-
Eric Niebler authored
Summary: This corrects an oversight in folly::Expected where self-assign was not being detected correctly due to a half-applied edit. Reviewed By: yfeldblum Differential Revision: D4348181 fbshipit-source-id: 710b25c4c6d7aeaaea50493ccc5788d875ec4c2e
-
Jim Meyering authored
Summary: Fix a warning exposed by gcc's -Wshadow-compatible-local. Rename inner "lockStolen" to "stolen". Differential Revision: D4346385 fbshipit-source-id: 323cb6c96ecfe18b5540525f4124dbd75faf0b1b
-
Jim Meyering authored
Summary: Fix a warning exposed by gcc's -Wshadow-compatible-local option. Rename inner "i" to "j". Reviewed By: knekritz Differential Revision: D4346505 fbshipit-source-id: f0a4ac32fefd6614900e58d1c8c7f15e8934fd04
-
- 18 Dec, 2016 1 commit
-
-
Mathieu Baudet authored
Summary: This is a first diff to remove the "easiest" unused includes in fbcode. * For safety, we only touch .cpp files without #if and #define, * We do not try to remove redundant systems headers (aka. "packing"). The diff was generated as follows: ``` foundation/scripts/ls-cpp-dirs | grep -v '^\(\.\.\|external/\|.*/external\)' | xargs ffmr -o /tmp/ffmr-diff-1 codegraph/scripts/ffmr/analyze_includes_no_headers_no_packing_skipping_ifdefs.sh cat /tmp/ffmr-diff-1/*.diff | patch -p2 hg commit -m something arc diff --prepare --nolint --nounit --less-context --excuse refactoring ``` Note: `grep -v` is just an optimization. The actual configuration is in these two files: diffusion/FBS/browse/master/fbcode/codegraph/analysis/config.py diffusion/FBS/browse/master/fbcode/codegraph/scripts/ffmr/analyze_includes_no_headers_no_packing_skipping_ifdefs.sh See the task for more context, and the recent "safety" improvements on the tool. depends on D4317825 for very few cases where `nolint` had to be manually added. Reviewed By: igorsugak Differential Revision: D4312617 fbshipit-source-id: ecc1f0addfd0651fa4770fcc43cd1314661a311a
-
- 17 Dec, 2016 2 commits
-
-
Yedidya Feldblum authored
Summary: [Folly] Let `ScopedEventBaseThread` destruct the `EventBase` in the IO thread. Reviewed By: andriigrynenko Differential Revision: D4330951 fbshipit-source-id: 5b0e7071800e1d49048b08aa1233d72b820fe55d
-
Yedidya Feldblum authored
Summary: [Folly] Split `EventBaseThread` from `ScopedEventBaseThread`. Now `ScopedEventBaseThread` is really scoped and immovable, while `EventBaseThread` is movable and can be started and stopped. Users which will never move, and will never start or stop, the `ScopedEventBaseThread` can continue using it. Users which need to move, or which need to start and stop, the object will use `EventBaseThread` instead. Reviewed By: andriigrynenko Differential Revision: D4338447 fbshipit-source-id: 57c186630bc199a7a7b7223b1fcb077ce3d86743
-
- 16 Dec, 2016 11 commits
-
-
Christopher Dykes authored
Summary: More progress towards being able to build Folly cleanly with MSVC's truncation and sign coersion warnings enabled. Reviewed By: yfeldblum Differential Revision: D4288060 fbshipit-source-id: ce42d2099163ed5a9c9a9bb736a80bb2407f7595
-
Junlin Zhang authored
Summary: In FunctionScheduler, cancelFunction and cancelAllFunction will not wait for current running function, which will lead to segmentation fault if the function captures resource to be destructed right after calling cancelFunction or cancelAllFunction. This diff introduces cancelFunctionAndWait and cancelAllFunctionsAndWait, making it possible to wait for completion of current running function. Reviewed By: yfeldblum Differential Revision: D4324384 fbshipit-source-id: ac4b272894f753ef3bb175173f10d1ca20c17c41
-
Andrii Grynenko authored
Summary: TimedMutex is a fair mutex, which can cause a deadlock if same mutex is requested first in a fiber, and then in main context. Reviewed By: yfeldblum Differential Revision: D4209155 fbshipit-source-id: 0623d9a2e6a0b5cc310fb71ad1b1cf33afd6a30e
-
Yinghai Lu authored
Summary: BEXTR is an instruction in BMI set, which extract given number of bits from a 64 bit register starting from a given position. The position and size of extracted bits are packed into a one 64bit integer. Reviewed By: Orvid Differential Revision: D4316516 fbshipit-source-id: 3f752388763b0e26c506d7d49cf6c05cf28271c0
-
Christopher Dykes authored
Summary: This reverts commit 8178dacc9268e1001efc5f803a35ef49e23d692a Differential Revision: D4310312 fbshipit-source-id: 7c4b90e834f1a95e51524e1e82ac5294e5ba2dc5
-
Yedidya Feldblum authored
Summary: [Folly] Always use an `EventBaseManager` with `ScopedEventBaseThread`. Reviewed By: andriigrynenko Differential Revision: D4336412 fbshipit-source-id: 459a679f8fda0db1ca0a9fdca2f852bb00c5231e
-
Christopher Dykes authored
Summary: Because it finds dead code. This also removes the dead code found. Reviewed By: yfeldblum Differential Revision: D4310312 fbshipit-source-id: 8178dacc9268e1001efc5f803a35ef49e23d692a
-
Christopher Dykes authored
Summary: This allows folly to compile with warnings 4245, 4287 and 4365 enabled, all of which are sign mismatch warnings. This is labeled as 'mostly' because I'll probably have to clean up a few more of these. Reviewed By: yfeldblum Differential Revision: D4263259 fbshipit-source-id: 0db618f0405817503a63094edd75b24ec1e5c9ad
-
Christopher Dykes authored
Summary: This makes the changes required to compile Folly cleanly with the rest of MSVC's truncation warnings, 4244 & 4267. Only another 2800 sign mismatch warnings left to go. Reviewed By: yfeldblum Differential Revision: D4257094 fbshipit-source-id: 1651eca875a31f53774d36c682f5e2745ddfcda5
-
Christopher Dykes authored
Summary: This refactors folly/stats/* to use a single type for indexes rather than `size_t`, `int`, `unsigned int`, `uint64_t` and `int64_t` depending on where you looked. This also has the result of getting MSVC to not complain about implicit sign conversions and implicit truncations. Reviewed By: simpkins Differential Revision: D4282174 fbshipit-source-id: 8529be34dce8ad18bc64395330bbdf2cd7305be4
-
Christopher Dykes authored
Summary: We were using `assert` without including anything that defines it. Closes https://github.com/facebook/folly/issues/530 Reviewed By: yfeldblum Differential Revision: D4337047 fbshipit-source-id: 327d19a685e7a4cc1e1eb6e471a6457fe9dee6c7
-
- 15 Dec, 2016 5 commits
-
-
Yedidya Feldblum authored
Summary: [Folly] Check the baton waits in the `ScopedEventBaseThread` tests. Also: * `Baton<T>::timed_wait` can take a `duration`, not just a `time_point`. * Allow a bit more time for waiting, just in case the machine running the tests is under load. Reviewed By: andriigrynenko Differential Revision: D4330126 fbshipit-source-id: 55878577b1deeb260686647e5f22a81d6fb9e06d
-
Andrii Grynenko authored
Summary: This makes it similar to other other events registered with EventBase. Reviewed By: yfeldblum Differential Revision: D4331277 fbshipit-source-id: 5d728d4ae5faff1a72ed724b4e2a6c0dd6c3b02d
-
Wez Furlong authored
Summary: We use this in eden and this avoids needing to patch the homebrew recipe. I've also made the use of the folly symbolizer specific to the facebook internal build of folly, because it fails to compile in the Linux OSS build too. Reviewed By: yfeldblum Differential Revision: D4292166 fbshipit-source-id: b69153be8ab9cc461bc7f456248e73972ba7f461
-
Andrii Grynenko authored
Reviewed By: yfeldblum Differential Revision: D4331194 fbshipit-source-id: 1e1579e3b775b1b4e329aa28aae11a2b54294697
-
Andrii Grynenko authored
Summary: This fixes a deadlock possible when singleton chain is created concurrently with destroyInstances(). Reviewed By: lbrandy, yfeldblum Differential Revision: D4329028 fbshipit-source-id: a11b3ff42d164ead2f8e3e77e0e17be43a8ad306
-
- 14 Dec, 2016 4 commits
-
-
Eric Niebler authored
Summary: GCC has the temerity to insinuate that my code has out-of-array-bounds access. After cross-checking with clang and ubsan, reviewing the code, and running constexpr tests (for which out-of-range errors are caught at compile time), I can say with pretty high confidence that this is an instance of GCC#61971 (https://gcc.gnu.org/bugzilla/show_bug.cgi?id=61971). Basically, the gcc-4 series is known to issue spurious -Warray-bounds warnings. The "fix" is to route internal accesses to some helper functions, for which -Warray-bounds has been suppressed. User code that accesses elements with operator[] will still warn on out-of-bounds access. If this is a problem in practice, we can suppress the warning there, too. Trying this for now since it is less likely to hide real problems. Reviewed By: yfeldblum Differential Revision: D4317305 fbshipit-source-id: 7bf92f993ac1a29631463c582c1b64d76f755181
-
Nathan Bronson authored
Summary: A recent diff added [[noreturn]] annotations that cause buck build to fail for ExceptionTracerTest.cpp, due to our use of -Werror and -Wunreachable-code-return. This diff removes the unreachable return statement. Differential Revision: D4326888 fbshipit-source-id: 7863c163eedcf2a7e19730c1de194f05c544a2c0
-
Christopher Dykes authored
Summary: If your function doesn't return you should be explicit about it. Reviewed By: meyering Differential Revision: D4309893 fbshipit-source-id: ce275ec8f42e2cb3253a1e40e263934649f09d9e
-
Andrii Grynenko authored
Reviewed By: yfeldblum Differential Revision: D4323918 fbshipit-source-id: 8dcd4ef3629fff061a9f149093ef1fe087f1c7e2
-
- 13 Dec, 2016 6 commits
-
-
Michael Lee authored
Summary: Find and remove a couple of unnecessary includes Reviewed By: matbd Differential Revision: D4322316 fbshipit-source-id: 7b55119bd7566fd62762ace5e35aa536489fafad
-
Andrii Grynenko authored
Reviewed By: igorsugak Differential Revision: D4320762 fbshipit-source-id: 2028de6ccc6fb129381b03d694b88677a5aa50d6
-
Neel Goyal authored
Summary: Allow observers to be notified when AsyncSocket attaches and detaches from EVB Reviewed By: siyengar Differential Revision: D4256175 fbshipit-source-id: a3ff96811f885e508f20cf11ce52e0f00e5ee461
-
Christopher Dykes authored
Summary: The most common place this happened was in tests where it was being used to force the return type of a lambda, but there were a couple of places in the main code that triggered this as well. Reviewed By: yfeldblum Differential Revision: D4310187 fbshipit-source-id: e3701cff9827eacaf3be8d28296441466eb2fa11
-
Philip Pronin authored
Summary: Moving russoue's `JemallocNodumpAllocator` (D3147173) from `mcrouter` codebase to `folly`, so we can use it in a few other services that suffer from a huge core dump problem. Reviewed By: russoue, jmswen, luciang Differential Revision: D4311394 fbshipit-source-id: 6a13c478b939bd411e0fd37e655125f62434c366
-
Igor Zinkovsky authored
Summary: Adding new `addFunctionOnce` method that executes provided callback only once. Reviewed By: yfeldblum Differential Revision: D4315635 fbshipit-source-id: 4819ec30b4f2e4ab3185a37158404e1c7a96758a
-
- 12 Dec, 2016 2 commits
-
-
Christopher Dykes authored
Summary: Prior to C++14 these shifts are undefined behavior, but the unsigned version is not, so do the shifts on unsigned values before converting to the final type. Reviewed By: yfeldblum Differential Revision: D4309311 fbshipit-source-id: 914b207bac2f77a96c07a8a5df81980c672aa677
-
Christopher Dykes authored
Summary: Which warns about the use of a ternary statement with the first operand omitted. This is a GCC extension and MSVC does not support it, so eliminate the last use of it. Reviewed By: yfeldblum Differential Revision: D4309989 fbshipit-source-id: 04c968708e47f8cb707fd0892e8780bc676df0de
-