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

rsocket / rsocket-cpp / 1666 / 2
38%
master: 38%

Build:
DEFAULT BRANCH: master
Ran 20 Jun 2017 11:04PM UTC
Files 237
Run time 12s
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

20 Jun 2017 11:00PM UTC coverage: 73.499% (-0.1%) from 73.618%
GCC_VERSION=4.9 BUILD_TYPE=Debug CPP_VERSION=14 ASAN=On

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.

7688 of 10460 relevant lines covered (73.5%)

248.79 hits per line

Source Files on job 1666.2 (GCC_VERSION=4.9 BUILD_TYPE=Debug CPP_VERSION=14 ASAN=On)
  • Tree
  • List 0
  • Changed 112
  • Source Changed 3
  • Coverage Changed 112
Coverage ∆ File Lines Relevant Covered Missed Hits/Line
  • Back to Build 1666
  • Travis Job 1666.2
  • cdee2ff4 on github
  • Prev Job for GCC_VERSION=4.9 BUILD_TYPE=Debug CPP_VERSION=14 ASAN=On on master (#1664.2)
  • Next Job for GCC_VERSION=4.9 BUILD_TYPE=Debug CPP_VERSION=14 ASAN=On on master (#1669.2)
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