• Home
  • Features
  • Pricing
  • Docs
  • Announcements
  • Sign In

rsocket / rsocket-cpp / 1666
38%

Build:
DEFAULT BRANCH: master
Ran 20 Jun 2017 11:04PM UTC
Jobs 2
Files 237
Run time 35s
Badge
Embed ▾
README BADGES
x

If you need to use a raster PNG badge, change the '.svg' to '.png' in the link

Markdown

Textile

RDoc

HTML

Rst

pending completion
1666

push

travis-ci

web-flow
Fix races in closing a TcpReaderWriter (#523)

* Fix races in closing a TcpReaderWriter

Each TcpReaderWriter is only accessed by a single thread, but it interleaves
callbacks in ways that aren't safe.  When a TcpInputSubscription or
TcpOutputSubscriber tries to close a TcpReaderWriter, it would only close the
socket, and then let the folly::AsyncSocket callbacks handle the rest in
follow-up events.  Depending on what events are already in the EventBase, we can
run into an inconsistent state.

Fix this by having TcpReaderWriter::close{,Err}() which go through the
{subscriber,subscription,socket}.  They are idempotent, so they are safe to call
in follow-up read{EOF,Err}() events.

Added new test that makes up to 1000 connections in parallel.  Running it
locally without this diff hits CHECK() errors in ~TcpReaderWriter.

* Fix incorrect tests

Of course they leak, we're not synchronizing on the futures before exiting main.
The "RacyFoo" tests aren't valid.

7819 of 10647 relevant lines covered (73.44%)

915.82 hits per line

Jobs
ID Job ID Ran Files Coverage
2 1666.2 (GCC_VERSION=4.9 BUILD_TYPE=Debug CPP_VERSION=14 ASAN=On) 20 Jun 2017 11:04PM UTC 0
73.5
Travis Job 1666.2
3 1666.3 (GCC_VERSION=5 BUILD_TYPE=Debug CPP_VERSION=14 ASAN=On) 20 Jun 2017 11:04PM UTC 0
73.9
Travis Job 1666.3
Source Files on build 1666
Detailed source file information is not available for this build.
  • Back to Repo
  • Travis Build #1666
  • cdee2ff4 on github
  • Prev Build on master (#1664)
  • Next Build on master (#1669)
STATUS · Troubleshooting · Open an Issue · Sales · Support · CAREERS · ENTERPRISE · START FREE · SCHEDULE DEMO
ANNOUNCEMENTS · TWITTER · TOS & SLA · Supported CI Services · What's a CI service? · Automated Testing

© 2026 Coveralls, Inc