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
Make fcntl work properly on AMD64 #42434
Comments
The fcntl call doesn't work correctly on AMD-64, because of an fcntl.DN_MULTISHOT is 0x80000000, which causes There is a similar fix already committed for ioctl - see |
Logged In: YES Thanks for your patch. I agree there's a problem, though I disagree with the fix. Finally, could you create a real unittest in Let me know if you agree or disagree with my assessment. |
Logged In: YES POSIX/Single Unix has this signature of fcntl: #include <fcntl.h>
int fcntl(int fildes, int cmd, ...); The additional parameters depend on the cmd argument:
|
Logged In: YES Hmmm, how should we handle "Other values: implementation I can use I (unsigned int) format for the third parameter |
Logged In: YES I think it will always be possible to produce crashes. If The only solution would be to restrict the commands to the So if we want to give the user more control, we might do I'm concerned about the POSIX vs. Linux story, though: POSIX |
I confirm this on trunk, using Brad's test script. |
Here is an updated patch with a test. |
As for the calling convention concern, it seems to me that a sane ABI |
@ap: ran patched test on Freebsd (6.2) as requested. Result is: test_fcntl_64_bit (test.test_fcntl.TestFcntl) ... skipped 'F_NOTIFY or |
Thanks! For the record, did the rest of test_fcntl pass? |
On Tue, 19 May 2009 at 16:24, Antoine Pitrou wrote:
Yes and 32 bit. |
Gonna apply if nobody opposes :) |
Committed in r72887, r72888, r72889. Thanks! |
Note: these values reflect the state of the issue at the time it was migrated and might not reflect the current state.
Show more details
GitHub fields:
bugs.python.org fields:
The text was updated successfully, but these errors were encountered: