classification
Title: multiprocessing: switch to autoconf detection of platform values
Type: feature request Stage: patch review
Components: Versions: Python 3.1, Python 2.7
process
Status: closed Resolution: fixed
Dependencies: Superseder:
Assigned To: jnoller Nosy List: christian.heimes, jnoller, rpetrov (3)
Priority: normal Keywords patch

Created on 2009-03-23 17:15 by jnoller, last changed 2009-04-02 01:42 by jnoller.

Files
File name Uploaded Description Edit Remove
mp_autoconf.patch christian.heimes, 2009-03-23 17:56
bootstrap.sh rpetrov, 2009-03-29 20:33
Messages (10)
msg84019 - (view) Author: Jesse Noller (jnoller) Date: 2009-03-23 17:15
See mail thread:
http://mail.python.org/pipermail/python-dev/2009-March/087418.html

And Christian's checkin to the back port:
http://code.google.com/p/python-multiprocessing/source/detail?r=64#

Need to take into the account information here (for my own notes):
http://bugs.python.org/issue5400
http://bugs.python.org/issue3876
http://bugs.python.org/msg83495
http://bugs.python.org/issue3110
msg84022 - (view) Author: Christian Heimes (christian.heimes) Date: 2009-03-23 17:56
I've correct some smaller issues and integrated the autoconf code into
multiprocessing and setup.py A working patch is appended.
msg84039 - (view) Author: Roumen Petrov (rpetrov) Date: 2009-03-23 21:27
What about AC_CHECK_FUNC* macros ?
msg84097 - (view) Author: Christian Heimes (christian.heimes) Date: 2009-03-24 17:24
AC_CHECK_FUNC works only for trivial checks that do not require
additional headers.
msg84230 - (view) Author: Roumen Petrov (rpetrov) Date: 2009-03-26 22:51
AC_CHECK_FUNC* check for function .
AC_CHECK_DECL check for declaration .

The check for functions sem_xxx() is incorrect in proposed patch. It has
to check for function.

I didn't review next part of the patch.
msg84239 - (view) Author: Christian Heimes (christian.heimes) Date: 2009-03-27 00:45
Dear Roumen, please do my a favor and stop throwing in random ideas and
accusations. I appreciate any help but your replies don't help at all.
They are just causing frustration on either side.

I know about AC_CHECK_DECL and AC_CHECK_FUNC. As I already said I can't
use AC_CHECK_FUNC because I can't easily include the necessary header file. 
AC_CHECK_DECL emits almost the same code as my check for sem_open and
sem_timedwait. However I'm planing to add more sanity checks for exotic
platforms in the future.
My check for sem_open does exactly what it suppose to do (and exactly
what AC_CHECK_DECL does, by the way). Why do you think it's not right?
msg84240 - (view) Author: Christian Heimes (christian.heimes) Date: 2009-03-27 00:46
Jesse, have fun with
svn+ssh://pythondev@svn.python.org/python/branches/multiprocessing-autoconf
during the sprint.
msg84429 - (view) Author: Roumen Petrov (rpetrov) Date: 2009-03-29 20:33
Cchristian it is not about random idea. It is how to write simple
readable and correct autoconf script. Compare my check for functions
(see attached  bootstrap.sh) with you. Also some of macros in you patch
are marked as obsolete.

$ CC=g++ ./bootstrap.sh
...
#define HAVE_SEM_OPEN 1
#define HAVE_SEM_OPEN_XXX 0
#define HAVE_SEM_OPEN_YYY 0
#define HAVE_SEM_TIMEDWAIT 1
...

So you propose check that fail in some cases.
msg85128 - (view) Author: Jesse Noller (jnoller) Date: 2009-04-02 01:25
This is committed as of CL 71007 on trunk.
msg85133 - (view) Author: Jesse Noller (jnoller) Date: 2009-04-02 01:42
Closing as fixed until the buildbots prove otherwise
History
Date User Action Args
2009-04-02 01:42:28jnollersetstatus: open -> closed
resolution: fixed
messages: + msg85133
2009-04-02 01:25:14jnollersetmessages: + msg85128
2009-03-29 20:33:33rpetrovsetfiles: + bootstrap.sh

messages: + msg84429
2009-03-27 00:46:35christian.heimessetmessages: + msg84240
stage: needs patch -> patch review
2009-03-27 00:45:33christian.heimessetmessages: + msg84239
2009-03-26 22:51:53rpetrovsetmessages: + msg84230
2009-03-24 17:24:21christian.heimessetmessages: + msg84097
2009-03-23 21:27:09rpetrovsetnosy: + rpetrov
messages: + msg84039
2009-03-23 17:56:07christian.heimessetfiles: + mp_autoconf.patch
keywords: + patch
messages: + msg84022
2009-03-23 17:15:03jnollercreate