lp:folly

Created by Sam Spilsbury on 2013-05-10 and last modified on 2019-08-24
Get this branch:
bzr branch lp:folly

Branch merges

Related bugs

Related blueprints

Branch information

Owner:
Sam Spilsbury
Project:
folly
Status:
Development

Import details

Import Status: Reviewed

This branch is an import of the HEAD branch of the Git repository at git://github.com/facebook/folly.git.

The next import is scheduled to run as soon as possible.

Last successful import was 6 hours ago.

Import started 6 hours ago on alnitak and finished 6 hours ago taking 20 seconds — see the log
Import started 12 hours ago on alnitak and finished 12 hours ago taking 25 seconds — see the log
Import started 19 hours ago on alnitak and finished 19 hours ago taking 25 seconds — see the log
Import started on 2019-08-24 on alnitak and finished on 2019-08-24 taking 20 seconds — see the log
Import started on 2019-08-23 on alnitak and finished on 2019-08-23 taking 20 seconds — see the log
Import started on 2019-08-23 on alnitak and finished on 2019-08-23 taking 20 seconds — see the log
Import started on 2019-08-23 on alnitak and finished on 2019-08-23 taking 20 seconds — see the log
Import started on 2019-08-22 on alnitak and finished on 2019-08-22 taking 25 seconds — see the log
Import started on 2019-08-22 on alnitak and finished on 2019-08-22 taking 25 seconds — see the log
Import started on 2019-08-22 on alnitak and finished on 2019-08-22 taking 2 minutes — see the log

Recent revisions

7483. By Dan Melnic <email address hidden> 21 hours ago

Enable FOLLY_TLS on FOLLY_MOBILE too

Summary: Enable FOLLY_TLS on FOLLY_MOBILE too

Reviewed By: guangyfb

Differential Revision: D16883165

fbshipit-source-id: 1a8f0991088f6963dc2acf84b74b294be998b877

7482. By Yedidya Feldblum <email address hidden> 21 hours ago

Avoid __forceinline for catch_exception under MSVC

Summary: [Folly] Avoid `__forceinline` for `catch_exception` under MSVC, which warns about functions which contain `try`-and-`catch` blcoks having the `__forceinline` modifier.

Reviewed By: akrieger

Differential Revision: D16982707

fbshipit-source-id: 68c443c4ce8ca77edd49d509a88ef4b0ab9488a9

7481. By Aaryaman Sagar <email address hidden> on 2019-08-23

Fix definition of SynchronizedBase::RLockedPtr

Summary:
The definition of RLockedPtr should use a non-const Subclass type, and not a
const one.

Reviewed By: ot

Differential Revision: D15356827

fbshipit-source-id: b8ad41e263f0e15ffa25b0698aa85eab8ca2ccb8

7480. By Tristan Rice <email address hidden> on 2019-08-23

folly: move SemiFuture::within to be with the other within methods

Summary: This moves within to be in a more logical spot. In the parent diff we kept it where it was to make it easier to see the differences.

Reviewed By: LeeHowes

Differential Revision: D16967106

fbshipit-source-id: 9f9cd2ea38a996ac12d3ca8256c1ec050d57dfc0

7479. By Tristan Rice <email address hidden> on 2019-08-23

folly: make within be a SemiFuture and fix deadlock bug

Summary:
This fixes a deadlock bug where the after continuation runs inline.

We resolve this by using defer to delay execution until both futures are created thus avoiding any extra synchronization.

Reviewed By: LeeHowes

Differential Revision: D16952748

fbshipit-source-id: a88a40d3135bdabc43bb51f9b5ea072f8e6564a3

7478. By Joe Romano <email address hidden> on 2019-08-23

Add docs to insert_or_assign re: inconsistency with std::map interface

Summary:
`ConcurrentHashMap::insert_or_assign` does not follow the interface for `std::map::insert_or_assign`. Making this clear for future users to avoid confusion.

Code:
```
int main(int argc, char** argv) {
  folly::ConcurrentHashMap<int, std::string> map;
  std::cout << "Insertion took place?: " << map.insert_or_assign(1, "hey").second << std::endl;
  std::cout << "Insertion took place?: "
<< map.insert_or_assign(0, "wow").second << std::endl;
  std::cout << "Insertion took place?: "
<< map.insert_or_assign(1, "wow").second << std::endl;
}
```

Output:
```
Insertion took place?: 1
Insertion took place?: 1
Insertion took place?: 1
```

Also see: https://github.com/facebook/folly/blob/master/folly/concurrency/test/ConcurrentHashMapTest.cpp#L86-L87

Reviewed By: magedm

Differential Revision: D16967939

fbshipit-source-id: ce0d32813371b31a94e14e404665d4fb2e7ffdfe

7477. By Lewis Baker <email address hidden> on 2019-08-22

Add cancellable folly::coro::sleep()

Summary:
Adds folly::coro::sleep() function as an alternative to using folly::futures::sleep().

The coro version returns a Task<void> and supports cancellation of the sleep operation when awaited within another Task.

Reviewed By: kirkshoop

Differential Revision: D16816328

fbshipit-source-id: 46bc4ee2475e6bd0bdfd0f7f30f3e0f1ea54d4d5

7476. By Lewis Baker <email address hidden> on 2019-08-22

Integrate CancellationToken support into Task

Summary:
The `folly::coro::Task` coroutine type now has an associated `CancellationToken` that is implicitly passed down to child operations that it awaits.

This is a first step towards supporting cancellation of persistent async streams.

This adds a new `co_withCancellation()` customisation point that awaitable types can customise to allow them to opt-in to cancellation. Currently only `Task` customises this operation.

Also provided a new `co_current_cancellation_token` object that can be awaited within a `Task` to retrieve the current `CancellationToken`.

Note that I have not yet hooked up the `Future` or `SemiFuture` to integrate with this cancellation mechanism (most `Future`-based code is not cancellation-aware). So a coroutine that is currently suspended awaiting for a `Future` may not currently respond to a cancellation request.

Reviewed By: andriigrynenko

Differential Revision: D16610810

fbshipit-source-id: 72a31d7a3ba4c281db54c1942ab41d4ea2f34d21

7475. By Giuseppe Ottaviano <email address hidden> on 2019-08-22

Turn MemoryMapping::LockFlags into a struct of bools

Summary: `LockFlags` is a set of flags that mirrors `mlock2(..., int flags)`, but since this is not a C API we don't need a bitset, we can just use a more idiomatic struct of bools (also used for the other options in the class). Furthermore, having an entry with value 0 (`LOCK_PREFAULT`) does not make sense in a bitset.

Reviewed By: yfeldblum

Differential Revision: D16900127

fbshipit-source-id: 6477854121c0626e0f36cb7a50d50df73323bd4e

7474. By Wez Furlong <email address hidden> on 2019-08-22

watchman: only enable eden support for FB internal builds

Summary:
This simplifies things for the OSS CI situation in
the short term, especially since Eden isn't quite buildable
or usable outside FB at this time.

Reviewed By: chadaustin

Differential Revision: D16953346

fbshipit-source-id: 028150bb3cfc9a8ccbe1197321214b56ad359463

Branch metadata

Branch format:
Branch format 7
Repository format:
Bazaar repository format 2a (needs bzr 1.16 or later)
This branch contains Public information 
Everyone can see this information.

Subscribers