Path: utzoo!utgpu!news-server.csri.toronto.edu!cs.utexas.edu!rice!sun-spots-request From: anderss@uplog.se Newsgroups: comp.sys.sun Subject: How do I break the 64 file descriptor limit ? Keywords: Miscellaneous Message-ID: <10203@brazos.Rice.edu> Date: 24 Jul 90 14:51:16 GMT Sender: root@rice.edu Organization: Sun-Spots Lines: 20 Approved: Sun-Spots@rice.edu X-Sun-Spots-Digest: Volume 9, Issue 277, message 18 Originator: spots@titan.rice.edu The subject line above says it. I'm running SunOS 4.1. I have a process that wants to fork children (a lot of them). In order to communicate with the children I've tried both pipes and sockets, but both tell me that I can't have more than 64 file descriptors in one process. What I find curious is that a quick look-around in the system header files suggest that in 4.1 the problem is taken care of: if the process tries to open more than 64 file descriptors, more are allocated dynamically. So, why do pipe() and socketpair() still think that 64's the limit ? Might it be that they still check ulimit() for the static size of the descriptor block in the uarea ? Another question, this time about lightweight processes: In 4.1 there is some support for lwp and asynch i/o in the kernel. Does this mean that the system calls that previously blocked the whole pod don't anymore ? That would be great... Real life: Anders Sjolund Email: anderss@uplog.se Snail mail: Telesoft Uppsala AB Phone: +46 18 189409 Box 1218 Fax: +46 18 132039 S - 751 42 Uppsala, Sweden