- 05 Nov, 2015 1 commit
-
-
Viswanath Sivakumar authored
Summary: If SharedPromise::getFuture() is invoked after a call to setInterruptHandler, then the interrupt handler isn't set on the newly created promise. This diff fixes that. Reviewed By: yfeldblum Differential Revision: D2610289 fb-gh-sync-id: bf8fce9e881b83ccac17d13c6788ec2afd0b0153
-
- 04 Nov, 2015 4 commits
-
-
Subodh Iyengar authored
Summary: Allows AsyncTransportWrapper's to supply the underlying application protocol being used, for example using NPN for SSL or some other generic protocol indication mechanism. Reviewed By: ranjeeth Differential Revision: D2614179 fb-gh-sync-id: 2079782bb7d44f898fb14c7df15077209b022424
-
Zhen (Growth) Li authored
Summary: Our use case need to have the IndexType Configurable, but in this diff D2583752, lint error shows Code from folly::detail is logically private, please avoid use outside of folly. In order to fix this lint error, I switch the IndexType and Allocator in the AtomicUnorderedInsertMap template. Reviewed By: nbronson Differential Revision: D2610921 fb-gh-sync-id: ae81b41e7c8c971f26c61b8c67dabeadff379584
-
Subodh Iyengar authored
Summary: Allow underlying transport to be accessible from AsyncTransportWrapper. There are some code paths where we need access to the real transport from the AsyncTransportWrapper. This allows us to retrieve the underlying transport and have clients like HTTPSession use it. Reviewed By: afrind Differential Revision: D2609200 fb-gh-sync-id: 2b317d1825a005bb64468f83c64bc3f1c9bdfe2c
-
Louis Brandy authored
Summary: .. by including what you use. These are a handful of headers that are depended on via viral inclusion. Include them directly. Reviewed By: yfeldblum Differential Revision: D2601172 fb-gh-sync-id: 215e87263325d085fbcb651f83f429f47d14fc1b
-
- 03 Nov, 2015 2 commits
-
-
Louis Brandy authored
Summary: Prefer `std::move` to `move` for clarity's sake. Reviewed By: yfeldblum Differential Revision: D2601138 fb-gh-sync-id: 64a9e58a83da9c8416a0be5c45a292c6b1342664
-
Anton Likhtarov authored
Summary: This disallows implicitly constructing a StringPiece from a literal nullptr at compile time (without this change, nullptr would cause a segfault in strlen()). Reviewed By: meyering, andriigrynenko Differential Revision: D2603597 fb-gh-sync-id: cafbc45945bacc72a7c89310b99aa62d19a3ff9f
-
- 31 Oct, 2015 1 commit
-
-
Andrew Gallagher authored
Summary: Fix warnings triggered by `-Wcomment`. Reviewed By: ajtulloch Differential Revision: D2603992 fb-gh-sync-id: aae721f7c236d7d8b8bff2c077a481fc2affcf71
-
- 30 Oct, 2015 2 commits
-
-
Delyan Kratunov authored
Summary: New API - write an entry and advance a cursor to the just-written slot. Reviewed By: ritzau, yfeldblum Differential Revision: D2599388 fb-gh-sync-id: f3ebfae97de0341f01ffc80ab10221313d02087c
-
Jon Maltiel Swenson authored
Summary: Reclaim unnecessary fibers from the free pool periodically. Turn this behavior on in mcrouter/proxy.cpp Reviewed By: pavlo-fb Differential Revision: D2584825 fb-gh-sync-id: eabc58eefe6fd38972c9e23ca3cbe79eb8316a3e
-
- 29 Oct, 2015 4 commits
-
-
Justin Gibbs authored
Summary: Convert helper classes to using statements now that GCC has caught up with c++11. Reviewed By: simpkins Differential Revision: D2561364 fb-gh-sync-id: 712591549aba9450d159468dc3b26a987ffe9b82
-
Andrii Grynenko authored
Summary: try_get() API is confusing right now, because it returns nullptr in release, but crashes in debug build. Users end up handling nullptr returns, yet their code crashes in debug builds for no reason. See https://www.facebook.com/groups/fbthrift/permalink/1222120054481561/ for an example. If we want to keep the crashing API we should probably name it differently and make it crash both in debug and release. Reviewed By: dhruvbird Differential Revision: D2587818 fb-gh-sync-id: 5834bfa08eb5d9bc6db1c5edf4a048a5b1d3212c
-
Xiaofan Yang authored
Summary: In my use case, 1.5 billion keys with loadFactor 0.8, the linear probing performs really bad. Reviewed By: nbronson Differential Revision: D2579243 fb-gh-sync-id: 5081356de55f770823a4afad55bf7e2114b4e313
-
Pavlo Kushnir authored
Summary: startWork_ is used only if enableTimeMeasurement is set. It gives ~0.5% performance win for mcrouter. Reviewed By: yfeldblum Differential Revision: D2590176 fb-gh-sync-id: 07f2189ebdec751cd0d91d191d8f595780d2808a
-
- 28 Oct, 2015 2 commits
-
-
Blake Matheny authored
Summary: SYNCHRONIZED warns with -Wshadow due to `for (auto& FB_ARG_1(__VA_ARGS__) =`. This diff just suppresses that warning. Reviewed By: djwatson Differential Revision: D2587348 fb-gh-sync-id: 3a2e39fb6ce28da014950ca94e4b62ea80deb65f
-
Beny Luo authored
Summary: The implicit conversion loses integer precision: 'size_type' (aka 'unsigned long') to 'int'. Reviewed By: mzlee Differential Revision: D2585883 fb-gh-sync-id: 1fc7c84b66c8f19cc36b798dd198730764e19b28
-
- 27 Oct, 2015 2 commits
-
-
Shaft Wu authored
Summary: Further race is presented in HHWheelTimer and EventBase, since changing them to track callback life cycle is more involving, I am hacking around it to prove the concept. With the *fix*, no reproduce of the segmentation fault anymore. This is for proving the concept, code will be cleaned up if we agree this is reasonable direction to pursue. Reviewed By: fugalh Differential Revision: D2577715 fb-gh-sync-id: e0bb0317268e6f02a54fc70454e63959fba70c10
-
Jun Li authored
Summary: Expose pending messages in accept queue in AsyncServerSocket. Set default accept message queue size to 1024. Reviewed By: djwatson Differential Revision: D2525161 fb-gh-sync-id: a69ea0ee77729e4a8300bde3e3c07840f2d5d3cb
-
- 26 Oct, 2015 5 commits
-
-
Lucian Grijincu authored
Reviewed By: yangliu Differential Revision: D2578043 fb-gh-sync-id: cec8f21219655a495b99d0b6b99f0925615bc068
-
Florent Thoumie authored
Summary: This is pretty much the reverse operation from the fromBinary() constructor. Reviewed By: yfeldblum Differential Revision: D2578680 fb-gh-sync-id: d8c4e53fe8bc0f5373ebb0b4f7ee498659c1b003
-
Yedidya Feldblum authored
Summary: [Folly] Style nits for `folly/test/FingerprintBenchmark.cpp`. Reviewed By: Gownta Differential Revision: D2579463 fb-gh-sync-id: 135bc3ef43708cb024f78c59672811159d2163e0
-
Mohammad Husain authored
Summary: Renaming `EnqueuedForAccept` and `DequeuedByAccept` to `EnqueuedForAcceptor` and `DequeuedByAcceptor` respectively to make it clear that the connection is queued for the Acceptor not to call `accept` on. Reviewed By: yfeldblum Differential Revision: D2554578 fb-gh-sync-id: 072a9ff122658827d1e89f2bef79ad565dad7974
-
Shijin Kong authored
Summary: Tested over weekend with D2571554. There was no EXC_RESOURCE/CPU crash when read errrors were returned on ENOTCONN. EAGAIN seems innocent as the spin detector was disabled on testing group. Patch folly. I can add #ifdef __APPLE__ around the errno checking code but this should be good practice for non apple code as well. I will remove debugging code in fbios master in another diff. Reviewed By: djwatson Differential Revision: D2580819 fb-gh-sync-id: 9162a3deba01af8b07cd2b336d7da3da040c67a9
-
- 24 Oct, 2015 1 commit
-
-
Nathan Bronson authored
Summary: AtomicUnorderedInsertMap's constructor takes a maxLoadFactor argument, which is given its default argument of 0.8f in all of our code. The clipping function that was supposed to prevent load factors greater than one was inverted, resulting in all of our code using a maxLoadFactor of 1 instead of 0.8. This diff fixes the computation, as well as changing all of the use sites so that the actual memory allocated by existing clients does not change. Reviewed By: yfeldblum Differential Revision: D2575238 fb-gh-sync-id: bb9dd8de53114236b259631d175d62af098391cf
-
- 23 Oct, 2015 3 commits
-
-
Jon Maltiel Swenson authored
Summary: Add a couple benchmarks measuring allocation/deallocation latency. One benchmark measures an allocate-deallocate repeated pattern, the other measures the allocation of a large chunk of fibers. We'll use these benchmarks later on after we modify the allocation/deallocation behavior of fibers. Reviewed By: pavlo-fb Differential Revision: D2573064 fb-gh-sync-id: 414eb93d6223e42c187c03214a47dfb533491bab
-
Bartosz Nitka authored
Summary: Some libraries like Haskell's `Data.Aeson` can produce arbitrarily big numbers with arbitrary precision. The json standard doesn't specify the ranges for numeric types. For interoperability, we should allow the user to parse the numbers with some loss of precision. Reviewed By: luciang Differential Revision: D2565140 fb-gh-sync-id: b1a9a46e298bf13cc89d7e79ce28705e9e251a7f
-
Nathan Bronson authored
Summary: AtomicUnorderedInsertMap used 32 bit index values internally. 2 bits were stolen, limiting the capacity to 2^30. This diff makes the internal index type a template parameter, so you can make really big maps if you want (at the expense of bigger map overhead). The easiest way is to substitute AtomicUnorderedInsertMap64. Reviewed By: yfeldblum Differential Revision: D2574338 fb-gh-sync-id: a74994b6da1046a149c2e7763c3dc19e35d9840b
-
- 22 Oct, 2015 3 commits
-
-
Alan Frindell authored
Summary: readTerminatedString could infinite loop if the terminator does not appear in the contained IOBuf chain and maxLength > chain.computeChainLength. I'm throwing out_of_range here because that more closely mirrors what the other read() functions do. Reviewed By: siyengar Differential Revision: D2571039 fb-gh-sync-id: 1db22089562d8767920d66a0a1b091b02de6571f
-
Giuseppe Ottaviano authored
Summary: Clang's `strlen` is not `constexpr`, but `__builtin_strlen` is, so we can have an unconditional `constexpr` `StringPiece` constructor. Reviewed By: luciang, yfeldblum Differential Revision: D2561782 fb-gh-sync-id: 51e76a0d50355cc5ead1148ba2389b640a6888de
-
Yaacov Akiba Slama authored
Summary: Tested in debian stretch when used in hhvm which can now run drupal 7. The compilation error is also fixed by #214 but this fix maintains forward declarations of basic_string and list. Closes https://github.com/facebook/folly/pull/329 Reviewed By: yfeldblum Differential Revision: D2533880 fb-gh-sync-id: 85e18eeeba9efa1b4150217ba526b32b5573e15e
-
- 21 Oct, 2015 5 commits
-
-
Philip Pronin authored
Summary: A few fields were swapped, and we had unintentionall fallthrough in switch. Reviewed By: luciang Differential Revision: D2565884 fb-gh-sync-id: 8ad71c090c5120e99c672f785aaefdef03469ee2
-
Rameshkumar Shihora authored
Summary: FingerprintBenchmark was in an internal directory before, but it belongs alongside the Fingerprint code. Reviewed By: yfeldblum Differential Revision: D2534646 fb-gh-sync-id: d8ded3a5a9d33f60e9674ea71dc87a2d8d19a51b
-
Andrii Grynenko authored
Reviewed By: elsteveogrande Differential Revision: D2517522 fb-gh-sync-id: eab11d17ce5db94e09aa733b6067e44d36be6345
-
Petr Lapukhov authored
Summary: as title, this comes handy when multiple consumers are needed within the same class. Reviewed By: has Differential Revision: D2530249 fb-gh-sync-id: 942761782a100b2d3fe54d94a7c1b0e03b95a847
-
Emil Hesslow authored
Summary: - I added this in PHP ( D2534138 ) so add it here too - This is my first folly diff so I probably done something wrong :) Reviewed By: yfeldblum Differential Revision: D2549168 fb-gh-sync-id: 5e6a80097be01fb54342e0c9da5b69465f695f80
-
- 20 Oct, 2015 1 commit
-
-
Jon Maltiel Swenson authored
Summary: Bring zstd support into folly/io/Compression.h Reviewed By: chipturner Differential Revision: D2551026 fb-gh-sync-id: 7c13338d45efb0fc19f0b44015c7e62d945a483b
-
- 17 Oct, 2015 2 commits
-
-
Bruno Goncalves authored
Summary: Boost is great, but c++11 incorporate some of their stuffs, and classes like ProducerConsumerQueue don't need it anymore. Closes https://github.com/facebook/folly/pull/321 Reviewed By: fredemmott, yfeldblum Differential Revision: D2519081 fb-gh-sync-id: b138a5af4662d1e7ef5e0823cf4001880ee02456
-
Ranjeeth Dasineni authored
Summary: If the eventFd goes bad, NotificationQueue consumers can cause their event loop to spin indefinitely. If libevent gets POLLERR on the fd, it calls handlerReady, which triggers a read. The read will fail, but the callback is never uninstalled. I'm not sure it would be easy to recover gracefully from this, so crash hard instead. Reviewed By: yfeldblum, pgriess Differential Revision: D2550270 fb-gh-sync-id: c9575fbda778b3625da6d9db6b0542b8263f230a
-
- 16 Oct, 2015 2 commits
-
-
Kyle Nekritz authored
Summary: AsyncSSLSocket.h change was not synced from D2408773 / f7176051. Test Plan: file matches D2408773 Reviewers: CC: Task ID: # Blame Rev:
-
Nathan Bronson authored
Summary: Make sure page size has been fetched from the operating system before it is used in asserts. Reviewed By: meyering Differential Revision: D2551368 fb-gh-sync-id: d3735571e2a45f613bbbd7e0f158a755d36b376c
-