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

iconara / ione / 205
100%
master: 99%

Build:
Build:
LAST BUILD BRANCH: v1.2.4
DEFAULT BRANCH: master
Ran 14 Jul 2015 01:41PM UTC
Jobs 5
Files 13
Run time 1min
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
205

push

travis-ci

grddev
Avoid stack overflow error with Future.after

With a long list of resolved futures, the previous implementation
caused a stack-overflow exception, as each call to await_next happened
within the previous call (synchronously).

This changes the behavior to loop over futures instead of using
recursion while on_complete dispatches synchronously in the same thread.
To avoid code duplication we always dispatch in the terminating cases,
even if it introduces an extra stack frame. The looping condition
protects against cases where a future would be resolved at a later
point by the calling thread (which is what the tests do), and the last
part of the condition protects against dispatching in other threads.

While the algorithm looks like a loop that adds multiple concurrent
on_complete listeners, the intention is in fact still to only ever have
one concurrent listener, making sure that the combined nil future is
only ever accessed from one thread at a time (without using locks).

2616 of 2623 relevant lines covered (99.73%)

19247.03 hits per line

Jobs
ID Job ID Ran Files Coverage
1 205.1 (1.9.3) 14 Jul 2015 01:41PM UTC 0
98.69
Travis Job 205.1
2 205.2 (2.0.0) 14 Jul 2015 01:41PM UTC 0
99.04
Travis Job 205.2
3 205.3 (2.1.1) 14 Jul 2015 01:41PM UTC 0
99.04
Travis Job 205.3
4 205.4 (jruby) 14 Jul 2015 01:41PM UTC 0
98.47
Travis Job 205.4
5 205.5 (jruby-head) 14 Jul 2015 01:43PM UTC 0
0.0
Travis Job 205.5
Source Files on build 205
Detailed source file information is not available for this build.
  • Back to Repo
  • Travis Build #205
  • 9c12c9c3 on github
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

© 2025 Coveralls, Inc