Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Implement SemLock with eventfd where available (3.10+/Linux) #17

Merged
merged 1 commit into from
Apr 10, 2022

Conversation

arcivanov
Copy link
Member

Otherwise SemLock is semaphore-based and blocks when RLock

eventfd-based solution doesn't work with forkserver

fixes #16

@coveralls
Copy link

coveralls commented Apr 10, 2022

Pull Request Test Coverage Report for Build 2142545301

  • 86 of 97 (88.66%) changed or added relevant lines in 1 file are covered.
  • 14 unchanged lines in 4 files lost coverage.
  • Overall coverage decreased (-2.8%) to 75.817%

Changes Missing Coverage Covered Lines Changed/Added Lines %
src/main/python/geventmp/_mp/3/_mp_synchronize.py 86 97 88.66%
Files with Coverage Reduction New Missed Lines %
src/main/python/geventmp/monkey.py 1 74.75%
src/main/python/geventmp/_mp/3/_mp_connection.py 1 60.98%
src/main/python/geventmp/_mp/3/_mp_synchronize.py 1 86.49%
src/main/python/geventmp/_mp/3/_mp_forkserver.py 11 53.95%
Totals Coverage Status
Change from base Build 1826656772: -2.8%
Covered Lines: 280
Relevant Lines: 345

💛 - Coveralls

@coveralls
Copy link

coveralls commented Apr 10, 2022

Pull Request Test Coverage Report for Build 2142563301

  • 88 of 97 (90.72%) changed or added relevant lines in 1 file are covered.
  • 1 unchanged line in 1 file lost coverage.
  • Overall coverage increased (+2.1%) to 80.785%

Changes Missing Coverage Covered Lines Changed/Added Lines %
src/main/python/geventmp/_mp/3/_mp_synchronize.py 88 97 90.72%
Files with Coverage Reduction New Missed Lines %
src/main/python/geventmp/_mp/3/_mp_synchronize.py 1 87.84%
Totals Coverage Status
Change from base Build 1826656772: 2.1%
Covered Lines: 314
Relevant Lines: 365

💛 - Coveralls

Otherwise SemLock is semaphore-based and blocks when RLock

eventfd-based solution doesn't work with `forkserver`

fixes #16
@arcivanov arcivanov merged commit ae641db into master Apr 10, 2022
@arcivanov arcivanov deleted the issue_16 branch April 10, 2022 02:41
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

JoinableQueue.put fails with "attempt to release recursive lock not owned by thread"
2 participants