Skip to content

bpo-46045: Do not use POSIX semaphores on NetBSD #30047

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

Merged
merged 3 commits into from
Jan 18, 2022

Conversation

0-wiz-0
Copy link
Contributor

@0-wiz-0 0-wiz-0 commented Dec 11, 2021

Copy link
Member

@tiran tiran left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thank you for working on NetBSD support! Would you be interested to contribute a buildbot for NetBSD, too? As far as I know we don't have any CI for NetBSD.

Comment on lines 84 to 85
#elif defined(__NetBSD__)
#define HAVE_BROKEN_POSIX_SEMAPHORES
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

configure.ac has a block to define HAVE_BROKEN_POSIX_SEMAPHORES for SunOS and AIX. Please move the NetBSD code there, too.

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I've changed this as requested.
I noticed that the generated files from autoconf are in the repository, but I have a newer version installed, so I didn't include these files in the commit.

@@ -0,0 +1 @@
Do not use POSIX semaphores on NetBSD
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The changelog also needs an explanation why POSIX semaphores cannot be used on NetBSD. Is there an issue with NetBSD kernel or do we need extra quirks to support NetBSD flavor of semaphores?

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Sorry, I don't know that.
I've tried using gdb to look at the python processes that are forked by the three mentioned tests, but there are a lot of them. Can you suggest a simple example where Python would use semaphores that I could use to file a NetBSD bug report?

@bedevere-bot
Copy link

A Python core developer has requested some changes be made to your pull request before we can consider merging it. If you could please address their requests along with any other requests in other reviews from core developers that would be appreciated.

Once you have made the requested changes, please leave a comment on this pull request containing the phrase I have made the requested changes; please review again. I will then notify any core developers who have left a review that you're ready for them to take another look at this pull request.

@0-wiz-0
Copy link
Contributor Author

0-wiz-0 commented Dec 11, 2021

@tiran Could you point me to more information about running a build bot?
(Replies to the other comments see above.)

@0-wiz-0
Copy link
Contributor Author

0-wiz-0 commented Dec 11, 2021

Oh, and thanks for the review, @tiran!

@0-wiz-0
Copy link
Contributor Author

0-wiz-0 commented Dec 11, 2021

Can someone with autoconf-2.69 please regenerated the generated files?
@serhiy-storchaka ? @tiran ?

@0-wiz-0
Copy link
Contributor Author

0-wiz-0 commented Dec 11, 2021

Ok, autoconf was not hard. aclocal is from automake though and those files are generated by 1.16.3 (1.16.5 is out).
I had to manually stage the diff though because the generated configure script in the repository has runstatedir support, but autoconf-2.69 by default has not. Wondering about that one... but not a problem for this PR.

@0-wiz-0
Copy link
Contributor Author

0-wiz-0 commented Dec 11, 2021

I have made the requested changes; please review again

@bedevere-bot
Copy link

Thanks for making the requested changes!

@tiran: please review the changes made to this pull request.

@tiran
Copy link
Member

tiran commented Dec 13, 2021

Can you run Linux containers on your system? We provider containers to regenerate autoconf files.

@0-wiz-0
Copy link
Contributor Author

0-wiz-0 commented Dec 13, 2021

No, I can't run Linux containers, but I've built a copy of autoconf 2.69 manually, so I can regenerate now.

@github-actions
Copy link

This PR is stale because it has been open for 30 days with no activity.

@github-actions github-actions bot added the stale Stale PR or inactive for long period of time. label Jan 13, 2022
@serhiy-storchaka
Copy link
Member

The change in configure matches generated by autoconf 2.69.

@serhiy-storchaka serhiy-storchaka merged commit 60ceedb into python:main Jan 18, 2022
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
stale Stale PR or inactive for long period of time.
Projects
None yet
Development

Successfully merging this pull request may close these issues.

5 participants