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

[3.7] bpo-35189: Retry fnctl calls on EINTR (GH-10413) #10678

Merged
merged 2 commits into from Nov 23, 2018
Merged

[3.7] bpo-35189: Retry fnctl calls on EINTR (GH-10413) #10678

merged 2 commits into from Nov 23, 2018

Conversation

vstinner
Copy link
Member

@vstinner vstinner commented Nov 23, 2018

vstinner and others added 2 commits November 23, 2018 16:46
Call setitimer() before each test method, instead of once per test
case, to ensure that signals are sent in each test method.
Previously, only the first method of a testcase class got signals.

Changes:

* Replace setUpClass() with setUp() and replace tearDownClass() with
  tearDown().
* tearDown() now ensures that at least one signal has been sent.
* Replace support.run_unittest() with unittest.main() which has
  a nicer CLI and automatically discover test cases.

(cherry picked from commit aac1f81)
Modify the following fnctl function to retry if interrupted by a signal
(EINTR): flock, lockf, fnctl.

(cherry picked from commit b409ffa)
@vstinner vstinner changed the title bpo-35189: Retry fnctl calls on EINTR (GH-10413) [3.7] bpo-35189: Retry fnctl calls on EINTR (GH-10413) Nov 23, 2018
@vstinner vstinner merged commit 56742f1 into python:3.7 Nov 23, 2018
@vstinner vstinner deleted the eintr37 branch November 23, 2018 16:53
@miss-islington
Copy link
Contributor

Thanks @vstinner for the PR 🌮🎉.. I'm working now to backport this PR to: 3.6.
🐍🍒⛏🤖

@miss-islington
Copy link
Contributor

Sorry, @vstinner, I could not cleanly backport this to 3.6 due to a conflict.
Please backport using cherry_picker on command line.
cherry_picker 56742f1eb05401a27499af0ccdcb4e4214859fd1 3.6

@bedevere-bot
Copy link

GH-10685 is a backport of this pull request to the 3.6 branch.

vstinner added a commit that referenced this pull request Nov 23, 2018
…-10685)

* bpo-35189: Fix eintr_tester.py (GH-10637)

Call setitimer() before each test method, instead of once per test
case, to ensure that signals are sent in each test method.
Previously, only the first method of a testcase class got signals.

Changes:

* Replace setUpClass() with setUp() and replace tearDownClass() with
  tearDown().
* tearDown() now ensures that at least one signal has been sent.
* Replace support.run_unittest() with unittest.main() which has
  a nicer CLI and automatically discover test cases.

(cherry picked from commit aac1f81)

* bpo-35189: Retry fnctl calls on EINTR (GH-10413)

Modify the following fnctl function to retry if interrupted by a signal
(EINTR): flock, lockf, fnctl.

(cherry picked from commit b409ffa)
Co-Authored-By: nierob <nierob@users.noreply.github.com>
(cherry picked from commit 56742f1)
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.

None yet

5 participants