1. 18 Nov, 2018 1 commit
  2. 17 Nov, 2018 12 commits
  3. 16 Nov, 2018 3 commits
  4. 15 Nov, 2018 5 commits
  5. 14 Nov, 2018 6 commits
    • Maged Michael's avatar
      hazptr: Batches and tags for managing destruction order. · b2df58ec
      Maged Michael authored
      Summary:
      Add batches and tags for objects protectable by hazard pointers.
      Add fine-grained cleanup of tagged objects (lower overhead than calling hazptr_cleanup).
      
      Design sketch:
      - The domain structure contains an untagged list and one or more tagged lists (more than one to reduce contention).
      - These domain lists support lock-free push and lock-free unlocked pop all. Tagged lists are locked by pop all operations and unlocked by push_unlock operations. Push operations are  lock-free even when a list is locked for pop all operations.
      - Batches are lists of retired objects.
      - Each object contains the address of a batch (or null). The lowest bit indicates if the batch address is used also as a tag.
      - hazptr_cleanup_batch_tag(tag) reclaims all objects with that tag without checking hazard pointers.
      - All objects in a domain tagged list contain tagged objects that hash to the index of the list.
      - Untagged object are those that are safe to reclaim at shutdown time, i.e., their deleter only reclaims memory without other dependencies.
      - For example, retired UnboundedQueue segments do not depend on user-defined destructors and their deleters merely reclaim memory using the default deleter, and therefore can be untagged.
      - On the other hand, the deleters of ConcurrentHashMap buckets and nodes depend on user-defined code and therefore their destruction must be managed explicitly. Therefore they are tagged.
      - Batches can be used even without tagging. For example retired UnboundedQueue segments are collected in batches because they have link-counting interdependencies and batches help keep related segments together.
      
      Reviewed By: davidtgoldblatt
      
      Differential Revision: D10147101
      
      fbshipit-source-id: 8820cf46ad8942c7362d91543bfbd9fe07e27b7a
      b2df58ec
    • Mingtao Yang's avatar
      SSLContext::loadCertificateFromBufferPEM should load entire chain · 77f06ada
      Mingtao Yang authored
      Summary:
      SSLContext::loadCertificate() loads a certificate chain with SSL_CTX_use_certificate_chain_file.
      
      A method named SSLContext::loadCertificateFromBufferPEM() should have the same semantics.
      
      Reviewed By: yfeldblum
      
      Differential Revision: D13037752
      
      fbshipit-source-id: da7b150065d2207421c6bba86d44ce5e2c57e1a9
      77f06ada
    • Lee Howes's avatar
      Split folly::futures::map over value and Try forms · df642f04
      Lee Howes authored
      Summary: Splits folly::futures::map over forms that take value continuations and try continuations. This allows the implementation to call Future::thenValue and Future::thenTry correctly.
      
      Reviewed By: yfeldblum
      
      Differential Revision: D10861465
      
      fbshipit-source-id: 31044127f43e574edcc01c6bb173ecc4f0c9c90e
      df642f04
    • Yiding Jia's avatar
      Fix folly/Range.h with c++17 and libc++ again · 90ae95ed
      Yiding Jia authored
      Summary:
      Avoid create StringViewType if value_type is not POD, as with libc++ there is a
      static_assert in the class body which seems to fail.
      
      Reviewed By: yfeldblum
      
      Differential Revision: D13015696
      
      fbshipit-source-id: 090e5cd3f5e21aa8c22ea893e894b38fd3d2a745
      90ae95ed
    • Andrew Gallagher's avatar
      folly/executors: fix extraneous semi-colon · faa7f7fb
      Andrew Gallagher authored
      Reviewed By: yfeldblum
      
      Differential Revision: D13056552
      
      fbshipit-source-id: 910296cda7d392972a48c8fa3e425b4bdeaa5d26
      faa7f7fb
    • Yedidya Feldblum's avatar
      Move asm_rdtsc to its own header and rename · aedf6079
      Yedidya Feldblum authored
      Summary: [Folly] Move `asm_rdtsc` to its own header and rename to `hardware_timestamp`.
      
      Reviewed By: aary, Orvid
      
      Differential Revision: D10368436
      
      fbshipit-source-id: 88a6d1d50702e80fb3ebba5035116850c49df6ea
      aedf6079
  6. 13 Nov, 2018 6 commits
  7. 12 Nov, 2018 7 commits
    • Orvid King's avatar
      Convert ShutdownSocketSetTest to use NetworkSocket · 1d27782a
      Orvid King authored
      Summary: Convert the tests as well
      
      Reviewed By: yfeldblum
      
      Differential Revision: D12981682
      
      fbshipit-source-id: b07567802c4ddba0e0d1fbab7ea021b9ea948c42
      1d27782a
    • Orvid King's avatar
      SSLSessionTest now uses NetworkSocket · 17aa81d3
      Orvid King authored
      Summary: Port more things over.
      
      Reviewed By: yfeldblum
      
      Differential Revision: D12989142
      
      fbshipit-source-id: 6066978e42080748658cbe6ff94034037af2c656
      17aa81d3
    • Orvid King's avatar
      NetworkSocket support in SocketPair · 95ceac65
      Orvid King authored
      Summary: More!
      
      Reviewed By: yfeldblum
      
      Differential Revision: D12818656
      
      fbshipit-source-id: acb269258524ae22bf8761407713b89cf3d57a3a
      95ceac65
    • Orvid King's avatar
      NetworkSocket support for AsyncSSLSocket · 1f1d9662
      Orvid King authored
      Summary: More things.
      
      Reviewed By: yfeldblum
      
      Differential Revision: D12818556
      
      fbshipit-source-id: 8e839489eb92a3ec3f0ac391c157ad3de42d596b
      1f1d9662
    • Orvid King's avatar
      NetworkSocket support for BlockingSocket · e47087b7
      Orvid King authored
      Summary: Just keep porting, just keep porting.
      
      Reviewed By: yfeldblum
      
      Differential Revision: D12818498
      
      fbshipit-source-id: 48d404ed17caa79c241e2facc1a3d93715ce02cb
      e47087b7
    • Orvid King's avatar
      NetworkSocket support for AsyncSocket · c7b21fd1
      Orvid King authored
      Summary: This is a big one, but adds support for NetworkSocket to AsyncSocket itself.
      
      Reviewed By: yfeldblum
      
      Differential Revision: D12818493
      
      fbshipit-source-id: d7b73f356414b006f4fc6b1c380a8fa1c32b9a46
      c7b21fd1
    • Orvid King's avatar
      NetworkSocket support for SocketFastOpen · 083c73bd
      Orvid King authored
      Summary: More support infrastructure.
      
      Reviewed By: yfeldblum
      
      Differential Revision: D12818441
      
      fbshipit-source-id: b6d3a276ea332eccf8c6f43484fd25ec543bcc08
      083c73bd