]> granicus.if.org Git - python/commitdiff
Issue 3110: Additional protection for SEM_VALUE_MAX on platforms, thanks to Martin...
authorJesse Noller <jnoller@gmail.com>
Thu, 2 Apr 2009 02:32:55 +0000 (02:32 +0000)
committerJesse Noller <jnoller@gmail.com>
Thu, 2 Apr 2009 02:32:55 +0000 (02:32 +0000)
Misc/NEWS
Modules/_multiprocessing/multiprocessing.h

index b1e90bfcec47639939af57e2a82d8ee7bd89b485..6bf6dcd6815c2e8d277e455a9b1b843cf2049d66 100644 (file)
--- a/Misc/NEWS
+++ b/Misc/NEWS
@@ -202,6 +202,8 @@ Core and Builtins
 Library
 -------
 
+- Issue #3110: Add additional protect around SEM_VALUE_MAX for multiprocessing
+
 - In Pdb, prevent the reassignment of __builtin__._ by sys.displayhook on
   printing out values.
 
index f6ab994657261a094f0c9d4fce17bf80917edcb4..f8750d21540cc0edf45d5402caf138a22c7af1d5 100644 (file)
  * Issue 3110 - Solaris does not define SEM_VALUE_MAX
  */
 #ifndef SEM_VALUE_MAX
-#  ifdef _SEM_VALUE_MAX
-#    define SEM_VALUE_MAX _SEM_VALUE_MAX
-#  else
-#    define SEM_VALUE_MAX INT_MAX
-#  endif
+       #if defined(HAVE_SYSCONF) && defined(_SC_SEM_VALUE_MAX)
+               # define SEM_VALUE_MAX sysconf(_SC_SEM_VALUE_MAX)
+       #elif defined(_SEM_VALUE_MAX)
+               # define SEM_VALUE_MAX _SEM_VALUE_MAX
+       #elif definef(_POSIX_SEM_VALUE_MAX)
+               # define SEM_VALUE_MAX _POSIX_SEM_VALUE_MAX
+       #else
+               # define SEM_VALUE_MAX INT_MAX
+       #endif
 #endif
 
+
 /*
  * Make sure Py_ssize_t available
  */