Date: Tue, 2 Feb 1999 10:43:11 -0500 Message-Id: <199902021543.KAA00720@envy.delorie.com> From: DJ Delorie To: djgpp AT delorie DOT com In-reply-to: <36B6861A.64E0C306@cartsys.com> (message from Nate Eldredge on Mon, 01 Feb 1999 20:59:06 -0800) Subject: Re: Clarification of some errno values. References: <3 DOT 0 DOT 6 DOT 32 DOT 19990201215716 DOT 008b0840 AT pop DOT netaddress DOT com> <199902020334 DOT WAA06724 AT envy DOT delorie DOT com> <36B6861A DOT 64E0C306 AT cartsys DOT com> Reply-To: djgpp AT delorie DOT com > I don't think this is correct. On my Linux box, EMFILE means your > process has too many files open, while ENFILE means there are too many > open on the entire system. I wrote a little program which does `open' a > lot. It fails with EMFILE, but when run concurrently several times, one > fails with ENFILE. Oops, confused EMFILE with EMLINK. From POSIX 1003.1 section 2.4: [EMFILE] Too many open files. An attempt was made to open more than the maximum number of {OPEN_MAX} file descriptors allowed in this process. [EMLINK] Too many links An attempt was made to have the link count of a single file exceed {LINK_MAX}. [ENFILE] Too many open files in system Too many files are currently open in the system. The system reached its predefined limit for simultaneously open files and temporarily could not accept requests to open another one. > Does DOS have per-process file limits? I'm not sure, offhand. Yes, sort of. That's what FILES= in config.sys is for.