--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/components/python/python26/Python26-19-ext-stdio.patch Wed Feb 23 10:37:11 2011 -0800
@@ -0,0 +1,34 @@
+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);
+ }