msg126120 - (view) |
Author: Alan Hourihane (alanh) |
Date: 2011-01-12 18:32 |
Python 2.7.1 redefines FSTAT, but the problem is my libc already defines FSTAT in sys/ioctl.h. I've worked around this by prefixing the FSTAT define with PYTHON. It should probably be done with STAT too. --- Modules/posixmodule.c.old 2011-01-12 01:46:45.000000000 +0000 +++ Modules/posixmodule.c 2011-01-12 01:47:05.000000000 +0000 @@ -344,11 +344,11 @@ #undef STAT #if defined(MS_WIN64) | |
defined(MS_WINDOWS) # define STAT win32_stat -# define FSTAT win32_fstat +# define PYTHON_FSTAT win32_fstat # define STRUCT_STAT struct win32_stat #else # define STAT stat -# define FSTAT fstat +# define PYTHON_FSTAT fstat # define STRUCT_STAT struct stat #endif @@ -6641,7 +6641,7 @@ if (!_PyVerify_fd(fd)) return posix_error(); Py_BEGIN_ALLOW_THREADS - res = FSTAT(fd, &st); + res = PYTHON_FSTAT(fd, &st); Py_END_ALLOW_THREADS if (res != 0) { #ifdef MS_WINDOWS |
|
msg126489 - (view) |
Author: Antoine Pitrou (pitrou) *  |
Date: 2011-01-18 19:59 |
How about adding "#undef FSTAT" instead? Would it work for you? |
|
|
msg126490 - (view) |
Author: Alan Hourihane (alanh) |
Date: 2011-01-18 20:10 |
On Tue, 2011-01-18 at 19:59 +0000, Antoine Pitrou wrote: > Antoine Pitrou <pitrou@free.fr> added the comment: > > How about adding "#undef FSTAT" instead? Would it work for you? Sure. Alan. |
|
|
msg126527 - (view) |
Author: Antoine Pitrou (pitrou) *  |
Date: 2011-01-19 15:27 |
Ok, fixed in r88111 (3.2), r88112 (3.1) and r88113 (2.7). |
|
|
msg139601 - (view) |
Author: Alan Hourihane (alanh) |
Date: 2011-07-01 20:44 |
Hi Antoine, Unfortunately the #undef is too early and later #includes redefine it. We should move the #undef closer to the code that actually uses them. |
|
|
msg139604 - (view) |
Author: Roundup Robot (python-dev)  |
Date: 2011-07-01 20:56 |
New changeset 45b27448f95c by Antoine Pitrou in branch '2.7': Really fix issue #10898: posixmodule.c redefines FSTAT http://hg.python.org/cpython/rev/45b27448f95c |
|
|
msg139605 - (view) |
Author: Antoine Pitrou (pitrou) *  |
Date: 2011-07-01 20:57 |
Ah, sorry. Can you check with the changeset I've just pushed (it's on branch 2.7)? If ok, I'll port it to 3.2/3.x and close again. |
|
|
msg139611 - (view) |
Author: Alan Hourihane (alanh) |
Date: 2011-07-01 21:52 |
No, that patch still doesn't work. |
|
|
msg139612 - (view) |
Author: Antoine Pitrou (pitrou) *  |
Date: 2011-07-01 22:02 |
Hum, can you propose something? |
|
|
msg139615 - (view) |
Author: Alan Hourihane (alanh) |
Date: 2011-07-01 22:25 |
I've had to split the three #undef's up to just before they're used. |
|
|
msg139638 - (view) |
Author: Antoine Pitrou (pitrou) *  |
Date: 2011-07-02 11:52 |
> I've had to split the three #undef's up to just before they're used. I would really prefer to move up the offending #include rather than sprinkle those #undef's all over the place. |
|
|
msg139714 - (view) |
Author: Alan Hourihane (alanh) |
Date: 2011-07-03 23:10 |
Well, I'd probably prefer something akin to my first patch then. There's no need to #undef things at all if we just prefix the usage with PYTHON_ |
|
|