1. 07 Jul, 2015 6 commits
    • Sara Golemon's avatar
      Bump version to 49:1 · 28f7b88b
      Sara Golemon authored
      28f7b88b
    • Alexey Spiridonov's avatar
      Install Ubuntu 12.04 LTS dependencies for Travis CI · b160fd7b
      Alexey Spiridonov authored
      Summary: This is the first of a series of diffs to get folly, fbthrift, and bistro to run on Ubuntu 12.04 LTS, which is what powers Travis CI.
      
      It's important for folly to be easily usable with Travis CI, since everything C++ depends on it, and we really want all FB open-source projects to be monitored via continuous integration to avoid breaking their OSS builds.
      
      Thanks to @int's work on `mcrouter`, this was considerably easier than it would have been otherwise.
      
      This puts us a hop and a skip away from actually running folly's `make && make check && make install` on Travis CI. Do y'all think this is useful?
      
      Reviewed By: @yfeldblum
      
      Differential Revision: D2217441
      b160fd7b
    • Sara Golemon's avatar
      Bump version to 49:0 · 67f639c0
      Sara Golemon authored
      67f639c0
    • James Sedgwick's avatar
      folly/wangle -> wangle cutover · 0f383c37
      James Sedgwick authored
      Summary: Another stab at D2111063 now that we have the go ahead to actually open up the wangle github repo
      
      Reviewed By: @djwatson, @mdordal
      
      Differential Revision: D2178291
      0f383c37
    • Philip Pronin's avatar
      cleanup CompressedList / MutableCompressedList interfaces · 29cfa7b7
      Philip Pronin authored
      Summary: Drop those `const_cast<>` hacks.
      
      Reviewed By: @ot
      
      Differential Revision: D2217629
      29cfa7b7
    • Hans Fugal's avatar
      folly/futures Update README.md · c286b93a
      Hans Fugal authored
      Summary: This is a documentation dump, with updates from the past couple weeks. Most notably, the new information about `Future<Unit>` replacing `Future<void>`.
      
      Reviewed By: @​hannesr
      
      Differential Revision: D2211135
      c286b93a
  2. 02 Jul, 2015 7 commits
  3. 01 Jul, 2015 12 commits
    • Hans Fugal's avatar
      Future<Unit> global fixup · 812f803c
      Hans Fugal authored
      Summary: This is three codemods:
      
      * `(folly::(Future|Promise|Try))<void>` -> `\1<folly::Unit>`
      * `(Future|Promise|Try)<void>` -> `\1<Unit>`
      * add `using folly::Unit` statements where needed
      
      Then
      * undo false positives in javascript files and fibers::Promise
      
      cf D2201259, which this will land with
      
      Reviewed By: @djwatson
      
      Differential Revision: D2201801
      812f803c
    • Hans Fugal's avatar
      Future<Unit> wangle fixup · 98a8a89d
      Hans Fugal authored
      Summary: Mostly this is `s/(Promise|Future|Try)<void>/\1<Unit>/`
      
      Reviewed By: @djwatson
      
      Differential Revision: D2201272
      98a8a89d
    • Hans Fugal's avatar
      Nuke Future<void> (folly/futures) · e845ef57
      Hans Fugal authored
      Summary: Nuke Future<void> in favor of Future<Unit>, for the `folly/futures` subdirectory.
      
      Reviewed By: @djwatson
      
      Differential Revision: D2201259
      e845ef57
    • Sara Golemon's avatar
      Do an explicit test for XSI strerror_r · 489ab051
      Sara Golemon authored
      Summary: The current #if directive is a laundry list of
      "strerror_r defaults to XSI style on these platforms",
      and we keep missing some, so let's just do a proper test
      and simplify the code directives.
      
      Closes #232
      
      Reviewed By: @paulbiss
      
      Differential Revision: D2208843
      489ab051
    • Hans Fugal's avatar
      (easy) wrong test suite name · 913ddf77
      Hans Fugal authored
      Reviewed By: @yfeldblum
      
      Differential Revision: D2209197
      913ddf77
    • Vignesh Gowda's avatar
      Implement a BitVector-based list · 308f7da1
      Vignesh Gowda authored
      Summary: Implemented a BitVector Encoder and BitVector Reader with the same interface as EliasFanoCoding.h
      
      Reviewed By: @ot, @philippv
      
      Differential Revision: D2198935
      308f7da1
    • Andrey Goder's avatar
      fix? AutoTimerTest · cd927a9e
      Andrey Goder authored
      Summary: Apparently this test sometimes fails. @Gownta suggests it's because we're
      storing temproaries in StringPiece. Change it to store in a std::string, which
      should hopefully fix it.
      
      Reviewed By: @Gownta
      
      Differential Revision: D2208643
      cd927a9e
    • Hans Fugal's avatar
      make it really clear that wangle/rx is deprecated · 668192ca
      Hans Fugal authored
      Summary: More people are starting to use Rx. Yay! But they're trying to use `wangle/rx`. So make sure there's no doubt about its deprecated status.
      
      Reviewed By: @yfeldblum
      
      Differential Revision: D2196273
      668192ca
    • Sara Golemon's avatar
      Add missing include for flock() · dc5b3433
      Sara Golemon authored
      Summary: flock() expects sys/file.h which on many platforms
      is getting included as a side-effect, but on at least one
      this isn't the case.
      
      Add the explicit include to fix builds on those platforms.
      
      Closes #232
      
      Facebook
      
      Unrelated runtime failures.
      
      Reviewed By: @JoelMarcey
      
      Differential Revision: D2196306
      dc5b3433
    • Marc Horowitz's avatar
      make folly/detail/FunctionalExcept.* work if FOLLY_HAVE_BITS_FUNCTEXCEPT_H is set or not · 231b7c5a
      Marc Horowitz authored
      Summary: When doing android development, we need to compile with
      FOLLY_HAVE_BITS_FUNCTEXCEPT_H set for some flavors, and
      FOLLY_HAVE_BITS_FUNCTEXCEPT_H unset for others (primarily for tests
      run in the local (xcode) development platform).  This diff adds some
      more conditionals so it all works.
      
      In this repro, these files are never used, so this is more or less a
      noop, but this is the upstream so I'm making these changes here.
      
      Reviewed By: @Gownta
      
      Differential Revision: D2202107
      231b7c5a
    • Woo Xie's avatar
      check ReadCallback before using it · a09c094f
      Woo Xie authored
      Summary: before the first setReadCallback(), the readCallback_ is nullptr.  Thanks @siyengar for pointing out this!
      
      Reviewed By: @siyengar
      
      Differential Revision: D2203489
      a09c094f
    • Woo Xie's avatar
      move the socket setting into setReadCB() · a93384bd
      Woo Xie authored
      Summary: refactor D2201181
      
      Reviewed By: @afrind
      
      Differential Revision: D2202245
      a93384bd
  4. 29 Jun, 2015 4 commits
  5. 26 Jun, 2015 10 commits
    • Mike Arpaia's avatar
      Remove double-conversion as a source dep in OS X script · b75ef0a0
      Mike Arpaia authored
      Summary: double-conversion was recently added to homebrew, making it the last
      folly dependency to do so. this diff modifies the existing OS X
      bootstrap tool to account for that. I also added an rm for the gtest
      wget, so there wasn't a leftover zip file in your repo. alternatively,
      we could remove that and add it to the gitignore.
      
      Reviewed By: @fugalh
      
      Differential Revision: D2196000
      
      Pulled By: @sgolemon
      b75ef0a0
    • Alex Landau's avatar
      Fix passing RequestContext to executor thread · 6b6e6ae3
      Alex Landau authored
      Summary: If x->add() executes its lambda on a different thread and
      doesn't pass the context on its own, the callback wouldn't
      have the correct context set.
      
      Reviewed By: @djwatson
      
      Differential Revision: D2189318
      6b6e6ae3
    • Dave Watson's avatar
      Fix stop_ thread race · a2206d81
      Dave Watson authored
      Summary: make it std::atomic
      
      Reviewed By: @tudor
      
      Differential Revision: D2191861
      a2206d81
    • Yedidya Feldblum's avatar
      to_shared_ptr. · 9b980c75
      Yedidya Feldblum authored
      Summary: [Folly] to_shared_ptr.
      
      So you can write this:
      
          auto sptr = to_shared_ptr(getSomethingUnique<T>());
      
      Instead of this:
      
          auto sptr = shared_ptr<T>(getSomethingUnique<T>());
      
      Useful when `T` is long, such as `T = foobar::cpp2::FooBarServiceAsyncClient`.
      
      Reviewed By: @meyering
      
      Differential Revision: D2193572
      9b980c75
    • Woo Xie's avatar
      opt proxygen with newly added OpenSSL functions · 06557e1f
      Woo Xie authored
      Summary: this taks advantage of SSL_write_iovec and SSL_read_buf functions to improve CPU.  This eliminates one malloc+memcpy+free operation for all HTTPS traffic, and save up to two for small packets.
      
      It saves 10~15% CPU
      https://fburl.com/99681397
      https://fburl.com/99427544
      
      Reviewed By: @djwatson
      
      Differential Revision: D1993764
      06557e1f
    • Tom Jackson's avatar
      GroupBy · df324b0a
      Tom Jackson authored
      Reviewed By: @ot
      
      Differential Revision: D2188740
      df324b0a
    • Hans Fugal's avatar
      (easy) remove cruft comment · 17751e04
      Hans Fugal authored
      Summary: We have this now.
      
      Reviewed By: @jsedgwick
      
      Differential Revision: D2191642
      17751e04
    • Hannes Roth's avatar
      (Wangle) Fix possible race in updating FSM state · 11e76315
      Hannes Roth authored
      Summary: Storing the new state could be a memory race according to C++ (but wasn't in practice). I only checked GCC though.
      
      Reviewed By: @nbronson
      
      Differential Revision: D2189287
      11e76315
    • Hannes Roth's avatar
      (Wangle) Clean up some data races in tests · e51d8547
      Hannes Roth authored
      Summary: Not 100% about the `ThreadWheelTimekeeper` test. It makes TSAN happy
      though.
      
      Reviewed By: @yfeldblum
      
      Differential Revision: D2187901
      e51d8547
    • Hannes Roth's avatar
      (Wangle) Fix bug with CrappyExecutors, and bad PriorityExecutor · be983813
      Hannes Roth authored
      Summary: 1) We forgot to `--attached_` if `x` throws an exception
      2) `PriorityExecutor` didn't execute `Func`, causing leaks in the test (not a bug in Futures)
      3) I moved up the initialization for an empty `Core` into the constructor to make it easier to see
      
      Reviewed By: @jsedgwick
      
      Differential Revision: D2187343
      be983813
  6. 24 Jun, 2015 1 commit
    • Sara Golemon's avatar
      Don't hardcode thread limit in ServerBootstrap · 2c111cff
      Sara Golemon authored
      Summary: This was set to 32 which probably works fine for the
      majority of FB servers, but not everyone's system is so endowed.
      
      Closes #119
      
      Reviewed By: @fredemmott
      
      Differential Revision: D2187008
      2c111cff