- 15 Jul, 2015 8 commits
-
-
Sara Golemon authored
Summary: As the comment says, we can ignore errors in setting the size. So it stands to reason we can ignore setting the size as well. Reviewed By: @yfeldblum Differential Revision: D2242882
-
Sophia Wang authored
Summary: There are more use cases that the Destruction/Guard pattern can be used than current DelayedDestruction provides. This diff makes the pattern more general (remove self destruct) and lets DelayedDestruction derive from that. The functionalities of DelayedDestruction is kept unchanged. I leave destroy(), Destructor class, and destroyPending_ in DelayedDestruction since they are not required by our CallbackGuard in proxygen. I add a shouldDestruct() function to allow customized conditions on when to call destructor. I haven't made destroyNow() a std::function since I only need it to be set at instatiation time. If there is any other use case that needs destroyNow() to be a std::function, I can do that as well. Reviewed By: @afrind Differential Revision: D2202575
-
Joe Richey authored
Summary: Before we didn't do anything at all with the ::infinite value for our generators, now all the sources operators and sinks are properly notated. The one signifcant change regarding what is allowed concerns 'cycle' which now (when called with no arguments) always produces an infinite generator. This is fine for all but the weirdest of generators fed into cycle. Reviewed By: @ddrcoder Differential Revision: D2240328
-
Joe Richey authored
Summary: When adding in the 'filter()' default behavior, I considered adding in similar behavior for 'any' and 'all'. However, we had 'any' with no funciton call basically check if anything was present, not testing a predicate. This can create a confusing senario, so I removed this behavior from 'any' and added in the 'isEmpty' and 'notEmpty' sinks. Now the calls 'any()' and 'all()' (called with parens, so old uses won't compile) check for truthy values simlar to 'filter()'. I also added some unit tests and changed 'static const' objects to 'constexpr'. Reviewed By: @ddrcoder Differential Revision: D2234637
-
Andrii Grynenko authored
Summary: Integrating RequestContext into fibers library. RequestContext is saved for every task, when that task is created. If RequestContext is overriden when a task is being run (within fiber, in runInMainContext, within function passed to await call) the new context will continue to be used for the task. Reviewed By: @alikhtarov Differential Revision: D2240152
-
Lucian Grijincu authored
Reviewed By: @philippv Differential Revision: D2240628
-
Yedidya Feldblum authored
Summary: [Folly] Fix Build: folly/io/async/test/ScopedEventBasedThreadTest.cpp Failure with latest clang: folly/io/async/test/ScopedEventBaseThreadTest.cpp:72:8: error: explicitly moving variable of type 'folly::ScopedEventBaseThread' to itself [-Werror,-Wself-move] sebt = std::move(sebt); Reviewed By: @markisaa Differential Revision: D2238762
-
Yedidya Feldblum authored
Summary: [Folly] File ctor should take StringPiece. This way we can use it with `std::string` and `folly::fbstring` a touch more easily. Reviewed By: @luciang Differential Revision: D2235870
-
- 13 Jul, 2015 4 commits
-
-
Sara Golemon authored
-
Andrii Grynenko authored
Reviewed By: @chipturner Differential Revision: D2235232
-
Kjell Schubert authored
Summary: This is only a simple #include file split, no functional change was made. SmallLocks.h provides 2 classes: MicroSpinLock and PicoSpinLock, with the latter not being available on 32bit platforms. There are several classes in folly that included SmallLocks.h but only needed MicroSpinLock, these also refused to compile on 32bit, e.g. folly/futures/Future.h. Now these compile fine. Reviewed By: @yfeldblum Differential Revision: D2234263
-
Yedidya Feldblum authored
Summary: [Folly] An has_member_type macro. Reviewed By: @juchem Differential Revision: D2229775
-
- 09 Jul, 2015 6 commits
-
-
Joe Richey authored
Summary: After discussion with Tom about frozen files, we noticed that the use case of filtering out somthing that looks like false (0, nullptr, folly::none) is unnecessarily tedious. So folly::gen::filter now filters by the value of the item by default. Reviewed By: @ddrcoder Differential Revision: D2220582
-
Subodh Iyengar authored
Summary: Add mocks for the new isBufferMovable methods. Reviewed By: @yfeldblum Differential Revision: D2222642
-
Yedidya Feldblum authored
Summary: [Folly] ThreadedExecutor. It's an Executor that runs functions each in its own thread. Kind of simple. Suitable for a few types of strange cases. Reviewed By: @hannesr Differential Revision: D2226211
-
Tudor Bosman authored
Summary: Add a way to tell whether an IOBuf (either indvidually or the whole chain) refers to memory that's outside of IOBuf's control (via WRAP_BUFFER). That is, can you assume that clone() will extend the lifetime of the memory? Is it safe to use clone() instead of copying the data (and avoid a copy)? Reviewed By: @simpkins Differential Revision: D2191883
-
Steve O'Brien authored
Summary: Early in the startup process there may not be a default signal handler installed, and stack traces are not available; also during the startup process is when init-order fiascos occur. Dump a stacktrace and fatal when an unregistered singleton is used. Also fatals -- with glog `LOG(FATAL)`, which triggers an ABRT signal -- on other illegal and unrecoverable usage like double-registration or circular dependency. Reviewed By: @andriigrynenko Differential Revision: D2200408
-
Mark McDuff authored
Summary: Ran into a bug in D2158570 where we dtor'ing these data structures before the event bases destructed, so the assert on line 47 (of the old code) failed. Reviewed By: @andriigrynenko Differential Revision: D2198318
-
- 07 Jul, 2015 6 commits
-
-
Sara Golemon authored
-
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
-
Sara Golemon authored
-
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
-
Philip Pronin authored
Summary: Drop those `const_cast<>` hacks. Reviewed By: @ot Differential Revision: D2217629
-
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
-
- 02 Jul, 2015 7 commits
-
-
Yedidya Feldblum authored
Summary: [Folly] Lift thrift/lib/cpp/test/TNotificationQueueTest. `NotificationQueue` is already moved into folly; move its accompanying test suite as well. Reviewed By: @simpkins Differential Revision: D2207104
-
Sara Golemon authored
Summary: Got this ifdef wrong in my last change here. Reviewed By: @paulbiss Differential Revision: D2213708
-
Hans Fugal authored
Summary: If you try to make a future or promise of `void`, you will get this nice error message telling you to use `Unit` instead. Reviewed By: @djwatson Differential Revision: D2211239
-
Michael Lee authored
Summary: The Homebrew setup fails to compile on OSX. Reviewed By: @paulbiss Differential Revision: D2212084
-
Yedidya Feldblum authored
Summary: [Folly] folly::Unit::Drop. Antisymmetric to folly::Unit::Lift. Reviewed By: @fugalh Differential Revision: D2211725
-
Hans Fugal authored
Summary: Fix so `Timekeeper::at(now() - something)` works. Also introduce a test which explicitly tests when <= now codepath, which wasn't broken per se here, but which test also tickled this bug. Reviewed By: @jsedgwick Differential Revision: D2209166
-
Hans Fugal authored
Reviewed By: @yfeldblum Differential Revision: D2209095
-
- 01 Jul, 2015 9 commits
-
-
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
-
Hans Fugal authored
Summary: Mostly this is `s/(Promise|Future|Try)<void>/\1<Unit>/` Reviewed By: @djwatson Differential Revision: D2201272
-
Hans Fugal authored
Summary: Nuke Future<void> in favor of Future<Unit>, for the `folly/futures` subdirectory. Reviewed By: @djwatson Differential Revision: D2201259
-
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
-
Hans Fugal authored
Reviewed By: @yfeldblum Differential Revision: D2209197
-
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
-
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
-
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
-
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
-