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

IJHack / QtPass / 40676746547
93%

Build:
DEFAULT BRANCH: main
Ran 28 Oct 2026 11:11AM UTC
Jobs 1
Files 123
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

28 Oct 2026 11:01AM UTC coverage: 92.56% (-0.006%) from 92.566%
40676746547

push

github

web-flow
Executor: a dequeuing() slot may call back into the executor (#2082)

* Executor: a dequeuing() slot may call back into the executor

Henk's review of #2080: executeNext() emitted dequeuing() while holding a
reference to the queue's head and before marking it running. A slot that
queued more could reallocate the queue under that reference and, with
running still false, start the same head again; one that called
cancelNext() could drop the very item being started.

The head is copied and marked running before the signal goes out, so
execute() from a slot waits behind it and cancelNext() drops nothing
(-1, as for any running head). The header says what a slot may do.

Also names where "Password encryption aborted." comes from (pass's own
die in cmd_insert and cmd_edit), for whoever looks for it next.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01VJygpMUf461yZgfAqwMJ6d
Signed-off-by: Anne Jan Brouwer <brouwer@annejan.com>

* Executor: cancelNext() is guarded while its dequeuing() is out too

CodeRabbit on #2082: cancelNext() emitted dequeuing(id, false) with
running false, so a slot's cancelNext() dropped the next item as well and
its execute() started one before the signal returned, against the
contract this PR documents.

running is set around that emit as in executeNext(). Nothing is started
afterwards: ImitatePass calls cancelNext() in a loop from its completion
handler to drop the rest of a failed transaction, and starting the next
item there would run a step of that transaction. The queue moves on when
the handler returns (onProcessFinished()).

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01VJygpMUf461yZgfAqwMJ6d
Signed-off-by: Anne Jan Brouwer <brouwer@annejan.com>

---------

Signed-off-by: Anne Jan Brouwer <brouwer@annejan.com>
Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>

5 of 5 new or added lines in 1 file covered. (100.0%)

1 existing line in 1 file now uncovered.

9617 of 10390 relevant lines covered (92.56%)

336.49 hits per line

Coverage Regressions

Lines Coverage ∆ File
1
91.53
-0.85% src/nativegrep.cpp
Jobs
ID Job ID Ran Files Coverage
1 40676746547.1 28 Oct 2026 11:11AM UTC 123
92.56
GitHub Action Run
Source Files on build 40676746547
  • Tree
  • List 123
  • Changed 4
  • Source Changed 3
  • Coverage Changed 3
Coverage ∆ File Lines Relevant Covered Missed Hits/Line
  • Back to Repo
  • Github Actions Build #40676746547
  • 27211dd1 on github
  • Prev Build on main (#40673929941)
  • Next Build on main (#40794972077)
STATUS · Troubleshooting · Open an Issue · Sales · Support · CAREERS · ENTERPRISE · START FREE TRIAL · SCHEDULE DEMO
ANNOUNCEMENTS · TWITTER · TOS & SLA · Supported CI Services · What's a CI service? · Automated Testing

© 2026 Coveralls, Inc