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

ICRAR / ngas
70%
master: 69%

Build:
Build:
LAST BUILD BRANCH: config_use_prepared_stmts_for_clients
DEFAULT BRANCH: master
Repo Added 30 Jun 2017 02:01AM UTC
Files 165
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

LAST BUILD ON BRANCH correct-janitor-init
branch: correct-janitor-init
CHANGE BRANCH
x
Reset
  • correct-janitor-init
  • 98-query-ignore
  • NGAS-163
  • aiosmtpd
  • avoid-installing-bsddb3-in-py27
  • bbcp_fixes
  • c_client_warning_fixes
  • centos7-compatibility-changes
  • clone-fix
  • clone-order-fixes
  • correct-logging-c
  • coverage-stability
  • direct_sql
  • doc-updates
  • docs-fix
  • document-future-removal-of-27
  • fits_optional_arcfile
  • fix-requests-dependency-specs
  • fs-monitor
  • fs-monitor-fixes
  • github-actions
  • improve-register-error-message
  • issue-103
  • issue-13
  • issue-38
  • issue-44
  • issue-50
  • issue-51
  • janitor-thread-startup
  • macos-hostnames
  • macos-travis-fix
  • macos-travis-update
  • master
  • netifaces-fix
  • next
  • no-create-venv
  • none-reg-parameters
  • partner_sites
  • plugins-importing
  • py311
  • py39
  • python-client-improvements
  • relaxed-netifaces
  • release-12.0
  • remove-2.7-builds
  • remove-test-generic-registration-plugin
  • requests-pinning
  • richer-archiving-event
  • separate-test-servers
  • servers-flag
  • small-improvements
  • smtp-testing
  • stream-proxy-request
  • subscription-def
  • subscription_thread_ng
  • travis-errors
  • travis-fixes
  • travis-focal
  • update-travis-matrix
  • uwe-fixes
  • v11
  • v12
  • v12.0
  • various_improvements
  • volumes

pending completion
600

push

travis-ci-com

Rodrigo Tobar
Start communication thread before janitor process

The main server process and the janitor process communicate through a
pair of Queues. The handling of this communication on the main server
process happens on a separate thread, which we used to start after we
spawned the janitor process. This sequence opened the door for a race
condition where the janitor process would try to read from the
corresponding queue, but the main server wouldn't have put any item on
it yet as the communication thread wouldn't have started yet.

This commit fixes this situation by starting the communication thread
before spawning the janitor process. Since we are not waiting for the
communication thread to be up and running (only starting it) there is
still some chance that the original problem could occur, but with a much
lesser probability.

This addresses the problem originally reported in #78.

Signed-off-by: Rodrigo Tobar <rtobar@icrar.org>

13672 of 19626 relevant lines covered (69.66%)

4.85 hits per line

Relevant lines Covered
Build:
Build:
19626 RELEVANT LINES 13672 COVERED LINES
4.85 HITS PER LINE
Source Files on correct-janitor-init
  • Tree
  • List 165
  • Changed 0
  • Source Changed 0
  • Coverage Changed 0
Coverage ∆ File Lines Relevant Covered Missed Hits/Line

Recent builds

Builds Branch Commit Type Ran Committer Via Coverage
600 correct-janitor-init Start communication thread before janitor process The main server process and the janitor process communicate through a pair of Queues. The handling of this communication on the main server process happens on a separate thread, which we used to s... push 08 Feb 2022 03:54AM UTC Rodrigo Tobar travis-ci-com pending completion  
See All Builds (534)
  • Repo 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