lp:folly

Created by Sam Spilsbury on 2013-05-10 and last modified on 2019-01-19
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 in 5 hours.

Last successful import was 6 minutes ago.

Import started 7 minutes ago on alnitak and finished 6 minutes ago taking 20 seconds — see the log
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 20 seconds — see the log
Import started 18 hours ago on alnitak and finished 18 hours ago taking 20 seconds — see the log
Import started on 2019-01-19 on izar and finished on 2019-01-19 taking 20 seconds — see the log
Import started on 2019-01-19 on alnitak and finished on 2019-01-19 taking 20 seconds — see the log
Import started on 2019-01-19 on izar and finished on 2019-01-19 taking 20 seconds — see the log
Import started on 2019-01-19 on izar and finished on 2019-01-19 taking 30 seconds — see the log
Import started on 2019-01-18 on izar and finished on 2019-01-18 taking 20 seconds — see the log
Import started on 2019-01-18 on izar and finished on 2019-01-18 taking 20 seconds — see the log

Recent revisions

6600. By Stepan Palamarchuk <email address hidden> on 2019-01-19

Use std::array instead of std::vector for bitmap

Summary: The size of the vector is essentially 4, there's no point of allocating it on heap. This improves locality and avoids unnecessary indirection.

Reviewed By: jmswen

Differential Revision: D13709524

fbshipit-source-id: 76c80b835a73ec8f7f5096ae927292571d137596

6599. By Maged Michael <email address hidden> on 2019-01-19

Add test that LifoSemMPMCQueue::add does not throw when queue is not full

Summary:
Add test to ThreadPoolTest that LifoSemMPMCQueue::add does not throw when queue is not full.

The test fails before changing LifoSemMPMCQueue::add to use MPMCQueue::writeIfNotFull instead of MPMCQueue::write,and passes after the change.

Reviewed By: djwatson

Differential Revision: D13722155

fbshipit-source-id: 09e296f18eba5c3a78734284b5e409cf006951cc

6598. By Maged Michael <email address hidden> on 2019-01-19

LifoSemMPMCQueue: Throw only when queue is full not when consumer is in progress.

Summary:
This change ensures that LifoSemMPMCQueue and PriorityLifoSemMPMCQueue do not throw unless the queue is full.

Before this change it was possible for an add operation to throw even when the queue is not full, if a consumer operation is delayed while in progress.

Example:
Queue of size N.
T1: Producer completes N add operations.
T2: Consumer starts a take operation and gets delayed.
T3: Consumer completes N-1 take operations.
T1: Tries an add operation. If using MPMCQueue::write (which returns false) throws even though the queue is not full (has N-1 empty slots). If using MPMCQueue::writeIfNotFull() returns true after waiting for T2's take to complete.

This is somewhat similar to BugD3527722.

Reviewed By: djwatson

Differential Revision: D13701978

fbshipit-source-id: a799353c41d0dc6e673b5fe0ad2a64fd5440fbe8

6597. By Joe Loser <email address hidden> on 2019-01-18

Use <random> instead of boost/random (#1000)

Summary:
- Use `std::mt19937` instead of `boost::random::mt19937`.
- Use `std::uniform_int_distribution` instead of `boost::uniform_int`.
Pull Request resolved: https://github.com/facebook/folly/pull/1000

Reviewed By: aary

Differential Revision: D13729752

Pulled By: yfeldblum

fbshipit-source-id: 26828c157c458e56ce225af25e2a96890f0633ab

6596. By Yedidya Feldblum <email address hidden> on 2019-01-18

SingletonRelaxedCountable

Summary: [Folly] `SingletonRelaxedCountable`, a convenience API around `SingletonRelaxedCounter` for counting instances of a type.

Reviewed By: ovoietsa

Differential Revision: D13686867

fbshipit-source-id: b2f7673e7e88c473337f66901c3e787d35eca6c6

6595. By Joe Loser <email address hidden> on 2019-01-18

Remove workaround for lack of std::atomic_init (#996)

Summary:
- Since GCC 5 and later has `std::atomic_init`, remove the workaround
  present in `Tearable.h` to default initialize atomic variables.
- Default initialization of atomics do not work as you would expect. See
  http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2018/p0883r0.pdf
  for the explanation why.
- To get around the default initialization issue, we just call
  `std::atomic_init` for each element in the array of atomics.
Pull Request resolved: https://github.com/facebook/folly/pull/996

Reviewed By: LeeHowes

Differential Revision: D13648263

Pulled By: yfeldblum

fbshipit-source-id: 6f3c84089f9158bc5c0ad5efac13d49ef69f1770

6594. By Andrii Grynenko <email address hidden> on 2019-01-18

Basic co_bt gdb script for coro::Task

Summary:
This is mostly a POC. It will probably fail in some cases, but it's better than nothing.
Sample output:
  (gdb) co_bt this
  0x292d70 <zero()>
  0x293f50 <one()>
  0x295050 <two()>
  0x296150 <three()>
  0x297250 <folly::coro::TaskWithExecutor<int>::start() &&::{lambda(folly::Promise<int>, folly::coro::TaskWithExecutor<int>)#1}::operator()(folly::Promise<int>, folly::coro::TaskWithExecutor<int>) const>

Reviewed By: jwiepert

Differential Revision: D13727139

fbshipit-source-id: bff98eb4f5eb2ebd73c880d3b525172782f87511

6593. By Aaryaman Sagar <email address hidden> on 2019-01-18

Backport std::bit_cast

Summary: Backport `std::bit_cast` from C++20.

Reviewed By: yfeldblum

Differential Revision: D13705428

fbshipit-source-id: a4b284563be67bec3fe4ddb54fed299650458d30

6592. By Alex Guzman <email address hidden> on 2019-01-18

Disable renegotiation in OpenSSL 1.1.x

Summary: Adds option to wangle's SSLContextManager to disable renegotiation explicitly and makes folly's AsyncSSLSocket report rejected renegotiations from 1.1.x

Reviewed By: siyengar

Differential Revision: D13633405

fbshipit-source-id: 2b0fc5af4a12795efb52795d64b18b7b6c87e334

6591. By Alex Guzman <email address hidden> on 2019-01-18

Don't call SSL_shutdown when SSL_accept is pending

Summary: As it says on tin.

Reviewed By: knekritz

Differential Revision: D13144407

fbshipit-source-id: 8fc69f9005ca54c2fb82b501547de2aaa892c1fa

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