[Python-Dev] multiprocessing source not "Unix clean"

skip at pobox.com skip at pobox.com
Fri Jun 13 18:21:15 CEST 2008


In trying to solve a build problem with the multiprocessing code on
Solaris10 I visited multiprocessing.c in XEmacs and noticed the files all
appear to have Windows line endings.  Should those maybe be stripped to
conform to the other Python source?

FWIW, it appears that Solaris doesn't define SEM_VALUE_MAX but does define
_SEM_VALUE_MAX in sys/params.h.

    .../Modules/_multiprocessing/multiprocessing.c: In function 'init_multiprocessing':
    .../Modules/_multiprocessing/multiprocessing.c:253: error: 'SEM_VALUE_MAX' undeclared (first use in this function)
    .../Modules/_multiprocessing/multiprocessing.c:253: error: (Each undeclared identifier is reported only once
    .../Modules/_multiprocessing/multiprocessing.c:253: error: for each function it appears in.)

On Windows the author simple #defines SEM_VALUE_MAX to be LONG_MAX.  I used
a little cpp action to define it:

    #ifndef SEM_VALUE_MAX
    #  ifdef _SEM_VALUE_MAX
    #    define SEM_VALUE_MAX _SEM_VALUE_MAX
    #  else
    #    define SEM_VALUE_MAX INT_MAX
    #  endif
    #endif

Skip


More information about the Python-Dev mailing list