Skip to content
GitLab
Projects Groups Topics Snippets
  • /
  • Help
    • Help
    • Support
    • Community forum
    • Submit feedback
    • Contribute to GitLab
  • Register
  • Sign in
  • pypy pypy
  • Project information
    • Project information
    • Activity
    • Labels
    • Members
  • Repository
    • Repository
    • Files
    • Commits
    • Branches
    • Tags
    • Contributor statistics
    • Graph
    • Compare revisions
  • Issues 698
    • Issues 698
    • List
    • Boards
    • Service Desk
    • Milestones
  • Merge requests 16
    • Merge requests 16
  • CI/CD
    • CI/CD
    • Pipelines
    • Jobs
    • Schedules
  • Deployments
    • Deployments
    • Environments
    • Releases
  • Packages and registries
    • Packages and registries
    • Container Registry
  • Monitor
    • Monitor
    • Incidents
  • Analytics
    • Analytics
    • Value stream
    • CI/CD
    • Repository
  • Wiki
    • Wiki
  • Snippets
    • Snippets
  • Activity
  • Graph
  • Create a new issue
  • Jobs
  • Commits
  • Issue Boards
Collapse sidebar
  • PyPyPyPy
  • pypypypy
  • Merge requests
  • !599

cpyext: store error state thread-locally in executioncontext

  • Review changes

  • Download
  • Patches
  • Plain diff
Merged Bitbucket Importer requested to merge bitbucket/merged-pr-599 into branch/default Mar 20, 2018
  • Overview 2
  • Commits 1
  • Pipelines 0
  • Changes 5

Created originally on Bitbucket by pv

Was already merged in Bitbucket before import, marked as merged by the import user

CPython error state is threadlocal, but cpyext currently uses shared global state for it. This results to race conditions if GIL is released in cpyext extensions, see https://bitbucket.org/pypy/pypy/issues/2764

Fix this by moving the cpyext error state to ExecutionContext, in a similar way as for PyThreadState. Add a test checking for the issue.

Assignee
Assign to
Reviewers
Request review from
Time tracking
Source branch: bitbucket/merged-pr-599