lp:folly

Created by Sam Spilsbury on 2013-05-10 and last modified on 2021-05-05
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 7 hours ago.

Import started 7 hours ago on izar and finished 7 hours ago taking 15 seconds — see the log
Import started 17 hours ago on izar and finished 17 hours ago taking 15 seconds — see the log
Import started on 2021-05-05 on izar and finished on 2021-05-05 taking 15 seconds — see the log
Import started on 2021-05-04 on izar and finished on 2021-05-04 taking 15 seconds — see the log
Import started on 2021-05-04 on alnitak and finished on 2021-05-04 taking 15 seconds — see the log
Import started on 2021-05-04 on alnitak and finished on 2021-05-04 taking 15 seconds — see the log
Import started on 2021-05-03 on izar and finished on 2021-05-03 taking 15 seconds — see the log
Import started on 2021-05-03 on alnitak and finished on 2021-05-03 taking 15 seconds — see the log
Import started on 2021-05-03 on alnitak and finished on 2021-05-03 taking 15 seconds — see the log
Import started on 2021-05-03 on izar and finished on 2021-05-03 taking 15 seconds — see the log

Recent revisions

9648. By Pedro Eugenio Rocha Pedreira <email address hidden> 7 hours ago

Add re2 as a dependency on getpdeps

Summary: Add re2 as a dependency on getpdeps

Reviewed By: funrollloops

Differential Revision: D28208007

fbshipit-source-id: 7e6ab7a0a01f4b2fe264780e09befc34a030a896

9647. By Samuel Miller <email address hidden> 8 hours ago

Add an OpenSSLTransportCertificate

Summary:
To remove OpenSSL dependencies from some of our public interfaces, we need to
make `AsyncTransportCertificate` more implementation-agnostic. To start, we can
create an `OpenSSLTransportCertificate` that will have the `getX509()` method
instead of the `AsyncTransportCertificate`.

I start here by making `OpenSSLTransportCertificate` a dummy class, then I'll
update all our callsites to ensure that `getX509()` is only called on instances
of this class. After that, I can move `getX509()` exclusively to
`OpenSSLTransportCertificate`.

This means that in the future interfaces can use `AsyncTransportCertificate`
without depending on OpenSSL.

Reviewed By: yfeldblum, mingtaoy

Differential Revision: D26583479

fbshipit-source-id: 664e697a32fce61d22ee9842f998c4de1182924c

9646. By Yedidya Feldblum <email address hidden> 9 hours ago

fake the libcxxabi type-info shim

Summary: The actual shim type may sometimes not be linkable. So fake it - as long as the vtable is the same, it should not make a difference.

Reviewed By: luciang

Differential Revision: D28216291

fbshipit-source-id: 8c493a207cfb5414684147ddb850835bc0965bc5

9645. By John Reese <email address hidden> 23 hours ago

apply upgraded black 21.4b2 formatting to fbsource

Summary:
This applies the formatting changes from black v21.4b2 to all covered
projects in fbsource. Most changes are to single line docstrings, as black
will now remove leading and trailing whitespace to match PEP8. Any other
formatting changes are likely due to files that landed without formatting,
or files that previously triggered errors in black.

Any changes to code should be AST identical. Any test failures are likely
due to bad tests, or testing against the output of pyfmt.

Reviewed By: thatch

Differential Revision: D28204910

fbshipit-source-id: 804725bcd14f763e90c5ddff1d0418117c15809a

9644. By Yedidya Feldblum <email address hidden> on 2021-05-05

revise int128 traits

Summary:
Rather than specializing standard library numeric traits for `signed __int128` and `unsigned __int128`, bring these traits into folly and choose them where needed.

Note that it is undefined behavior to specialize the standard traits types.

Reviewed By: ericniebler

Differential Revision: D26506904

fbshipit-source-id: 0f7b0fa445c2713961b345b453fef8ff58032ee5

9643. By Andrii Grynenko <email address hidden> on 2021-05-05

GCC compiler bug workaround for timed_wait and detachOnCancel

Summary: GCC seems to be generating incorrect code for some mix of co_invoke and start/startInline. This workaround makes coro tests pass.

Reviewed By: yfeldblum

Differential Revision: D28174118

fbshipit-source-id: b8178d7711ed5619a37c169f8f18dd125bf08f0b

9642. By Maged Michael <email address hidden> on 2021-05-04

HazptrDomain: Change DCHECK of tagged_empty() in dtor to a warning

Summary:
Replace DCHECK(tagged_empty()) with a warning.

The rationale is that the DCHECK was intended to help higher level users detect memory leaks, but since the DCHECK fails at domain destruction, the stack trace is not really helpful to users. By changing it to a warning, at least the user gets a hint that there may be a leak of object(s) that use hazptr_obj_cohort (e.g., ConcurrentHashMap, RequestContext).

Reviewed By: yfeldblum

Differential Revision: D28145864

fbshipit-source-id: 8a79e25efd21f0b1d713202f2fe8954c17a7d4de

9641. By Srivatsan Ramesh <email address hidden> on 2021-05-04

Fix for proxygen fuzz build failure

Summary: Fix for the proxygen fuzz [build error]( https://oss-fuzz-build-logs.storage.googleapis.com/log-e58a42bb-98c0-4643-b842-b06f708eba12.txt) introduced by D27384053 (https://github.com/facebook/folly/commit/cdf0badc831c3aed7a740185d23728f779be8ba7)

Reviewed By: yfeldblum, lnicco

Differential Revision: D28154352

fbshipit-source-id: 6d98d9a3c9064de8f70506425dd790aa0cc3d9a6

9640. By Mark Santaniello <email address hidden> on 2021-05-04

Allow BenchmarkSuspender to be created in an initially-dismissed state

Summary:
Suppose we have this:

```
void myBenchmark() {
    do_setup();
    do_processing();
}
```

Maybe we want to benchmark both including and excluding the setup. Today, we have some options:

One possibility:
```
void myBenchmarkIncludeSetup() {
    do_setup();
    do_processing();
}

void myBenchmarkExcludeSetup() {
    BENCHMARK_SUSPEND {
       do_setup();
    }
    do_processing();
}
```

Another possibility -- but this is pretty verbose:

```
void myBenchmark(bool exclude_setup) {
    BenchmarkSuspender bs;
    bs.dismiss()

    if(exclude_setup) bs.rehire();
    do_setup();
    if(exclude_setup) bs.dismiss();

    do_processing();
}
```

We can simplify if we no longer require that BenchmarkSuspenders begin life as "hired".

After this diff, we can instead do this. I think it reads better:
```
void myBenchmark(bool exclude_setup) {
    BenchmarkSuspender bs{BenchmarkSuspender::Dismissed};

    if(exclude_setup) bs.rehire();
    do_setup();
    if(exclude_setup) bs.dismiss();

    do_processing();
}
```

Reviewed By: yfeldblum, ot, luciang

Differential Revision: D28151318

fbshipit-source-id: bca5a41158430844748a812bbe30173adbad5307

9639. By Yedidya Feldblum <email address hidden> on 2021-05-04

move return type calculation in catch_exception

Summary: Ideal for dependent return types to be calculated in the template param list rather since the putting them in the leading or trailing return type slot makes the function name opaque to demangling.

Reviewed By: Orvid

Differential Revision: D28140885

fbshipit-source-id: 0f9bc182f12a6383205863ce9a79b01961d644a6

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