in reply to Re^5: file handle limitation of 255
in thread file handle limitation of 255

It really is a nasty problem with Solaris, that needs some patching. (looks shady) Check: http://developers.sun.com/solaris/articles/stdio_256.html

Replies are listed 'Best First'.
Re^7: file handle limitation of 255
by eyepopslikeamosquito (Archbishop) on Jul 16, 2010 at 23:58 UTC

    Wow. That link makes Sun look pretty bad. Notice however, that it's not an OS limitation, but a (32-bit) C runtime library one. From your link:

    The following discussion is relevant only in 32-bit applications, as 64-bit applications are immune to the limitation to 256 file descriptors.

    An obvious way to work around this limitation therefore is to use a 64-bit Perl. Or to build your own Perl. What version of Perl are you currently using? Who built it? It would help if you could run "perl -V" and post its output here.

    Update: For cheap thrills, I just did a little experiment and built perl 5.12.1 with default settings as a 32-bit executable with both the Solaris C compiler and with gcc. The Solaris compiler built perl suffered from the dreaded 256 file descriptor limit, while the gcc compiler built perl did not. This is as I expected because gcc uses the glibc C runtime library (RTL) and so does not suffer from the (appalling) Solaris C RTL 256 file descriptor limit. So, in addition to downloading or building a SPARC 64-bit perl (ActiveState and others should provide these for download) you could download or build a SPARC 32-bit gcc-built perl.

      If you read further, a workaround is provided for some versions of the OS.
      export LD_PRELOAD_32=/usr/lib/extendedFILE.so.1