1. 31 Aug, 2015 3 commits
    • Michael Morton's avatar
      Adding singular token bucket implementation. · 280e99ae
      Michael Morton authored
      Summary: Contains only the central implementation of the TokenBucket, without moving other files to use the new implementation.
      
      Reviewed By: @yfeldblum
      
      Differential Revision: D2329892
      280e99ae
    • Mainak Mandal's avatar
      make doNotOptimizeAway work with clang · a3c67e00
      Mainak Mandal authored
      Summary: Projects depending on benchmark library fail to build with clang with the following error
      ```
      ./folly/Benchark.h:263:16: error: inline asm not supported yet: don't know how to handle tied indirect register inputs
      ```
      
      I am not an expert here, just tried to take an approach similar to the MSVC compiler clause
      
      Reviewed By: @andralex, @yfeldblum
      
      Differential Revision: D2368670
      a3c67e00
    • Yedidya Feldblum's avatar
      Fix the example for folly::static_function_deleter. · 148045d0
      Yedidya Feldblum authored
      Summary: [Folly] Fix the example for folly::static_function_deleter.
      
      The problem is that
      
          int BIO_free(BIO*)
      
      is not directly compatible.
      
      So have two examples. One using `RSA_free` which is compatible, and one making a compatible wrapper around `BIO_free`.
      
      Reviewed By: @Gownta
      
      Differential Revision: D2381125
      148045d0
  2. 25 Aug, 2015 2 commits
  3. 24 Aug, 2015 2 commits
  4. 23 Aug, 2015 2 commits
  5. 21 Aug, 2015 5 commits
    • Yedidya Feldblum's avatar
      static_function_deleter. · 74a1c035
      Yedidya Feldblum authored
      Summary: [Folly] static_function_deleter.
      
      So you can write this:
      
          using BIO_deleter = folly::static_function_deleter<BIO, &BIO_free>;
          auto buf = std::unique_ptr<BIO, BIO_deleter>(BIO_new(BIO_s_mem()));
          buf = nullptr;
      
      In place of this:
      
          struct BIO_deleter {
            void operator()(BIO* bio) {
              BIO_free(bio);
            }
          };
          auto buf = std::unique_ptr<BIO, BIO_deleter>(BIO_new(BIO_s_mem()));
          buf = nullptr;
      
      Reviewed By: @alandau
      
      Differential Revision: D2364544
      74a1c035
    • Jim Meyering's avatar
      folly: update README.md for newer Fedora · 671368be
      Jim Meyering authored
      Summary: Running ./configure on Fedora 21 failed until I installed some
      more prerequisite packages.  Add them to the list in README.md.
      
      Reviewed By: @markisaa
      
      Differential Revision: D2369708
      671368be
    • Maxim Georgiev's avatar
      Add a default timeout parameter to HHWheelTimer. · 81bb353a
      Maxim Georgiev authored
      Summary: Currently HHWheelTimer requires providing an explicit timeout value every time a new timeout is scgeduled. This change adds an optional "default timeout" parameter. With this parameter set, HHWheelTimer can be used the same way as AsyncTimeoutSet. Variable timeout functionality is still available even if the default parameter is set.
      
      Reviewed By: @djwatson
      
      Differential Revision: D2366783
      81bb353a
    • Tom Jackson's avatar
      Prevent accidental moves in filter() · 6a36073a
      Tom Jackson authored
      Summary: Per Boris's report.
      
      Preparing to re-push this after fixing downstream errors.
      
      Reviewed By: @ot
      
      Differential Revision: D2361333
      6a36073a
    • Jason Prado's avatar
      Remove superfluous std::move calls · c0cb9812
      Jason Prado authored
      Summary: clang-3.7 upstream warns that these calls prevent a copy elision
      (-Wpessimizing-move).
      
      Reviewed By: @​mzlee
      
      Differential Revision: D2366951
      c0cb9812
  6. 20 Aug, 2015 1 commit
  7. 19 Aug, 2015 1 commit
  8. 18 Aug, 2015 4 commits
    • Tom Jackson's avatar
      Prevent accidental moves in filter() · 0fdbb61e
      Tom Jackson authored
      Summary: Per Boris's report.
      
      Reviewed By: @yfeldblum
      
      Differential Revision: D2357299
      0fdbb61e
    • Orvid King's avatar
      Adjust Format-inl.h to work with MSVC · bae18697
      Orvid King authored
      Summary: Originally #247, which was closed before being merged, this doesn't change the behavior of the formatting function now.
      Closes #297
      
      Reviewed By: @yfeldblum
      
      Differential Revision: D2340712
      
      Pulled By: @sgolemon
      bae18697
    • Yedidya Feldblum's avatar
      EnvVarSaver. · 1b08746e
      Yedidya Feldblum authored
      Summary: [Folly] EnvVarSaver.
      
          TEST(SomeBigClassTest, ChangesEnvVars) {
            folly::EnvVarSaver saver;
            setenv("USER", "root", 1);
            BigClass().doSomethingWithUser();
          }
      
      Reviewed By: @Gownta
      
      Differential Revision: D2354679
      1b08746e
    • Subodh Iyengar's avatar
      Refactor HandshakeHelper and add a peeking handshake helper · 663d3a7b
      Subodh Iyengar authored
      Summary: This adds support to Acceptor to be able to switch between
      multiple protcols when SSL is being negotiated using MSG_PEEK.
      
      The motivation for this is to be able to try out multiple protocols.
      
      Reviewed By: @djwatson
      
      Differential Revision: D2327946
      663d3a7b
  9. 17 Aug, 2015 5 commits
    • Sara Golemon's avatar
      Bump version to 54:0 · 942ad3f3
      Sara Golemon authored
      942ad3f3
    • Daniel M. Weeks's avatar
      Limit use of hardware crc32 check to SSE 4.2 · ee6b4fce
      Daniel M. Weeks authored
      Summary: Fixes compiling crc32c function on older hardware. (I believe this problem was introduced by 7ec1fc0e).
      
      Also ensures is in final library since the API suggests it should be. This should correct a number of build problems for other projects like wdt and hhvm when they are compiled using a shared folly library rather than borrowing sources at compile time.
      Closes #296
      
      Reviewed By: @yfeldblum
      
      Differential Revision: D2340699
      
      Pulled By: @sgolemon
      ee6b4fce
    • Orvid King's avatar
      Remove `unsigned char v = static_cast<unsigned char>(v);` · cd69a53a
      Orvid King authored
      Summary: MSVC spotted this very suspicious line when I was running it with /analyze, and complained about using an unitialized variable. This variable isn't used anywhere in the function, and is initializing itself with itself. I have no idea how this compiled in the first place, but apparently it does.
      This removes the line in question.
      Closes #295
      
      Reviewed By: @yfeldblum, @paulbiss
      
      Differential Revision: D2340688
      
      Pulled By: @sgolemon
      cd69a53a
    • Orvid King's avatar
      Implement Random.cpp for MSVC · 9af38044
      Orvid King authored
      Summary: This uses `<random>` to implement it, because there is no `/dev/urandom` on Windows.
      Closes #250
      
      Reviewed By: @yfeldblum
      
      Differential Revision: D2282887
      
      Pulled By: @sgolemon
      9af38044
    • Yedidya Feldblum's avatar
      Extract folly/io/async/test/RequestContextTest.cpp (from Thrift). · 750586e0
      Yedidya Feldblum authored
      Summary: [Folly] Extract folly/io/async/test/RequestContextTest.cpp (from Thrift).
      
      Reviewed By: @haijunz
      
      Differential Revision: D2350908
      750586e0
  10. 15 Aug, 2015 1 commit
  11. 14 Aug, 2015 3 commits
  12. 13 Aug, 2015 2 commits
  13. 12 Aug, 2015 6 commits
    • Orvid King's avatar
      Don't warn if pthread_atfork isn't avaliable on MSVC · 919d8e39
      Orvid King authored
      Summary: Because we don't even have `fork` to begin with under MSVC.
      Closes #278
      
      Reviewed By: @yfeldblum
      
      Differential Revision: D2306518
      
      Pulled By: @sgolemon
      919d8e39
    • Orvid King's avatar
      Add MSVC support to MaxAlign · 614ca624
      Orvid King authored
      Summary: This adds MSVC support to the detection of `MaxAlign` in `Portability.h`.
      Closes #256
      
      Reviewed By: @yfeldblum
      
      Differential Revision: D2283221
      
      Pulled By: @sgolemon
      614ca624
    • Orvid King's avatar
      Handle some scoping issues in Conv.h under MSVC · 21f7a3c1
      Orvid King authored
      Summary: No idea why these are the only two places it complains about, but it does.
      This just explicitly scopes them.
      Closes #253
      
      Reviewed By: @yfeldblum
      
      Differential Revision: D2282985
      
      Pulled By: @sgolemon
      21f7a3c1
    • Yedidya Feldblum's avatar
      CodeMod apache::thrift::transport::TSocketAddress to folly::SocketAddress. · aa6e8869
      Yedidya Feldblum authored
      Summary: [Folly] CodeMod apache::thrift::transport::TSocketAddress to folly::SocketAddress.
      
          yes | codemod --extensions h,tcc,cpp '^#include [<"]thrift/lib/cpp/transport/TSocketAddress\.h[>"]$' '#include <folly/SocketAddress.h>'
          yes | codemod --extensions h,tcc '\b(((apache::)?thrift::)?transport::)?TSocketAddress\b' 'folly::SocketAddress'
          yes | codemod --extensions cpp '^using apache::thrift::transport::TSocketAddress;$' 'using folly::SocketAddress;'
          yes | codemod --file-list "$(git ls-files "**/*.cpp" | xargs grep -P '^using (namespace folly|folly::SocketAddress);$' | cut -d: -f1 | paste -s -d,)" '\b(((apache::)?thrift::)?transport::)?TSocketAddress\b' 'SocketAddress'
          yes | codemod --extensions cpp '\b(((apache::)?thrift::)?transport::)?TSocketAddress\b' 'folly::SocketAddress'
          yes | codemod --extensions h,tcc,cpp -m '^\s*typedef folly::SocketAddress folly::SocketAddress;\n' ''
          yes | codemod --file-list thrift/lib/cpp/Makefile.am -m '^\s*transport/TSocketAddress\.h \\\n' ''
          rm thrift/lib/cpp/transport/TSocketAddress.h
      
      Reviewed By: @Invalid auth token., @​luk
      
      Differential Revision: D2325523
      aa6e8869
    • Orvid King's avatar
      Disable VDSO on MSVC · abb1acc6
      Orvid King authored
      Summary: MSVC will never be able to load VDSO, and doesn't even have dlopen, so just return `nullptr`, and let the fallback mechanisms handle it from there.
      Closes #282
      
      Reviewed By: @yfeldblum
      
      Differential Revision: D2307461
      
      Pulled By: @sgolemon
      abb1acc6
    • Hannes Roth's avatar
      (Wangle) Use perfect forwarding for LambdaBufHelper · 1e06e1db
      Hannes Roth authored
      Summary: Perfect forwarding only works if the function is templated on the same type, not if the type is a class template.
      
      Discovered by @lbrandy.
      
      Reviewed By: @yfeldblum, @lbrandy
      
      Differential Revision: D2333005
      1e06e1db
  14. 11 Aug, 2015 3 commits