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

pantsbuild / pants / 36524
0%
main: 79%

Build:
Build:
LAST BUILD BRANCH: stdin
DEFAULT BRANCH: main
Ran 16 Nov 2020 06:41PM UTC
Jobs 1
Files 417
Run time 48s
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
36524

push

travis-ci-com

web-flow
acquire GIL during work unit conversion (#11186)

### Problem

I noticed while implementing metrics that the conversion of a `Workunit` to Python takes the GIL independently for each value in the work unit because the `externs::store_*` helpers each acquire the GIL. Going up the call stack to `poll_session_workunits`, the GIL is released during the work unit conversion to Python values because of a call to `py.allow_threads` and not reacquired until execution is inside each `externs::store_*` function.

### Solution

Acquire the GIL within `workunits_to_py_tuple_value` so that all work units being converted in that call do not need to re-acquire the GIL. The `Python::acquire_gil()` API supports recursive acquisition of the GIL.

This is a micro-optimization, but seems simple enough to make.

### Result

Existing tests pass.

0 of 29033 relevant lines covered (0.0%)

0.0 hits per line

Jobs
ID Job ID Ran Files Coverage
5 36524.5 (PANTS_CONFIG_FILES="${TRAVIS_BUILD_DIR}/pants.travis-ci.toml" PANTS_DYNAMIC_UI=false LC_ALL="en_US.UTF-8" AWS_BUCKET=ci-public.pantsbuild.org BOOTSTRAPPED_PEX_KEY_PREFIX=daily/${TRAVIS_BUILD_NUMBER}/${TRAVIS_BUILD_ID}/pants.pex NATIVE_ENGINE_SO_KEY_PREFIX=monthly/native_engine_so MACOS_PYENV_PY27_VERSION=2.7.18 MACOS_PYENV_PY36_VERSION=3.6.10 MACOS_PYENV_PY37_VERSION=3.7.7 MACOS_PYENV_PY38_VERSION=3.8.3 PYENV_ROOT_OSX=${HOME}/.pants_pyenv PYENV_ROOT="${PYENV_ROOT:-${PYENV_ROOT_OSX}}" PATH="${PYENV_ROOT}/shims:${PATH}" AWS_CLI_ROOT="${HOME}/.aws_cli" AWS_ACCESS_KEY_ID__TO_BE_REEXPORTED_ON_DEPLOYS=AKIAV6A6G7RQ2HFZ5KP7 AWS_SECRET_ACCESS_KEY=[secure] RUST_BACKTRACE="all" BOOTSTRAPPED_PEX_KEY_SUFFIX=py36.linux CACHE_NAME=python_tests.py36) 16 Nov 2020 06:41PM UTC 0
0.0
Travis Job 36524.5
Source Files on build 36524
Detailed source file information is not available for this build.
  • Back to Repo
  • Build #36524
  • e7304080 on github
  • Prev Build on master (#36521)
  • Next Build on master (#36527)
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