6841644 OpenSolaris Python should support gdbm
6991811 Migrate Mercurial (Hg) to Python 2.6
7009592 PyOpenSSL should be updated from 0.8 to 0.11
7016735 move mercurial from sfw to userland
7018363 Userland LD_OPTIONS should include non-executable data mapfiles as well
7019410 python 2.6 should move to userland
7020772 userland build should provide more macros for common flags
7021204 userland runpath checking should relax slightly.
diff --git Python-2.6.4/Modules/python.c Python-2.6.4/Modules/python.c
--- Python-2.6.4/Modules/python.c
+++ Python-2.6.4/Modules/python.c
@@ -6,6 +6,13 @@
#include <floatingpoint.h>
#endif
+#if defined(sun) && defined(__SVR4) && !defined(_LP64)
+#define USE_EXTENDED_FILE_STDIO 1
+#include <stdio.h>
+#include <stdio_ext.h>
+#include <signal.h>
+#endif
+
int
main(int argc, char **argv)
{
@@ -20,5 +27,16 @@
m = fpgetmask();
fpsetmask(m & ~FP_X_OFL);
#endif
+#ifdef USE_EXTENDED_FILE_STDIO
+ /* enable extended FILE facility on Solaris so that Python
+ apps can keep more than 256 file descriptors open */
+ struct rlimit rlp;
+ (void) getrlimit(RLIMIT_NOFILE, &rlp);
+ rlp.rlim_cur = rlp.rlim_max;
+ if (setrlimit(RLIMIT_NOFILE, &rlp) != -1) {
+ enable_extended_FILE_stdio(-1, SIGABRT);
+ }
+#endif
+
return Py_Main(argc, argv);
}