This issue tracker has been migrated to GitHub, and is currently read-only.
For more information, see the GitHub FAQs in the Python's Developer Guide.

Author tim.peters
Recipients
Date 2002-02-24.21:36:02
SpamBayes Score
Marked as misclassified
Message-id
In-reply-to
Content
Logged In: YES 
user_id=31435

Gotta love it <wink>.

I don't believe ioctl is a POSIX Classic function.  There's 
a good discussion of why the POSIX Realtime Extensions 
added a workalike posix_devctl() instead, in

http://www.usenix.org/publications/login/standards/22.posix.
html

Martin, the URL you gave is actually for fcntl, not ioctl.  
You can s/fcntl/ioctl/ in your URL to get the Single UNIX 
Specification's ioctl page, though, which also says "int".  
I agree OpenBSD is out of line with best current practice 
because of that.

It appears that Jeremy must be using Python 2.2, or running 
on a 64-bit machine, since his line

x = 3229893651

raises OverflowError on 32-bit boxes before the 2.2 release.

As Martin suggests, using a hex literal instead has always 
been the intended way to deal with cases "like this".  The 
situation will get a lot worse if OpenBSD is ported to a 64-
bit box with sizeof(long)==8, and some yahoo actually 
defines a ioctl arg that requires more than 32 bits.

Before then, I suggest we leave this alone (by the time it 
may matter for real, OpenBSD should be feeling a lot more 
pressure to conform to the larger open standards).
History
Date User Action Args
2007-08-23 13:59:21adminlinkissue521723 messages
2007-08-23 13:59:21admincreate