Relay-Version: version B 2.10 5/3/83; site utzoo.UUCP Posting-Version: version B 2.10.2 9/18/84; site ut-sally.UUCP Path: utzoo!watmath!clyde!cbosgd!ucbvax!ucdavis!lll-crg!mordor!ut-sally!std-unix From: std-unix@ut-sally.UUCP (Moderator, John Quarterman) Newsgroups: mod.std.unix Subject: CHILD_MAX as a constant - is it meaningful? Message-ID: <3427@ut-sally.UUCP> Date: Fri, 8-Nov-85 21:39:14 EST Article-I.D.: ut-sally.3427 Posted: Fri Nov 8 21:39:14 1985 Date-Received: Sun, 10-Nov-85 10:02:42 EST Organization: IEEE/P1003 Portable Operating System Environment Committee Lines: 58 Approved: jsq@ut-sally.UUCP Date: 06 Oct 85 18:53:05 +1000 (Sun) >From: Robert ElzSection 2.7 of P1003 draft 4 [ Section 2.8 of Draft 5 -jsq ] requires that implementations must define values of certain constants in . One of the required constants is CHILD_MAX, the maximum number of offspring per userid. This definition is a little to vague to be useable (it most likely intends to specify the maximum number of processes per userid, it may be debated whether the first process for a userid is an "offspring", it is also unlear whether this applies to "offspring" from some particular process - perhaps the maximum number of processes a user is permitted to run per login session?) This can easily be fixed, but I have a more serious complaint: Specifying per-userid limits as constants (that is, requiring an implementation to specify such a constant, and constraining it to a minimum value of that constant) does not seem to be an intelligent thing to do. Ideally, per-userid limits are exactly that, set individually for individual users. In an enviroment like this (again, mine) am I to set CHILD_MAX to the maximum number of processes that any user may may have running (which would be the same as PROC_MAX, as userid == 0 may run this many, and as such would be a meaningless value), or should I set it to the mininum value that any user will ever have for the maximum number of process permitted to be running (for some users, that will be 1 [aside: I can give entirely reasonable justifications for this limit - for some userids who do not represent humans], again making the constant useless. I could set it to an arbitrary approximate value - one that applies to many, or most, users, but that hardly seems satisfactory either. So, I recommend doing away with this constant from , which is not to say that implementations may not impose such a limit, merely that attempting to specify the value of the limit as a system wide constant is not reasonable. [ I think the justification for CHILD_MAX was that some implementations do have such a limit (for UIDs other than 0), and they wanted to guarantee a "minimum limit" of 4 offspring. Your argument against CHILD_MAX is a good one, though. For more general objections to , see farther on.. -Gwyn ] Robert Elz seismo!munnari!kre kre%munnari.oz@seismo.css.gov [ Note that the X3J11 draft has the same problems as the P1003 draft, since they have many of the same constants defined, and where that is so, they have the same definitions (I think P1003 got them from X3J11). X3J11 has a copy of the original mail items through Don Kretsch. -jsq ] Volume-Number: Volume 3, Number 7