[i think this might just as well belong in -questions]
On 10 xxx -1 [EMAIL PROTECTED] wrote:
> Hello
>
> I'm 18-year-old newbie UNIX programmer that currently use
> FreeBSD and is really thankfull of it.I run it on DUAL PII/333.
>
> Some days ago my friend tell me that with simple user rights
> and whit only 1 line of code he could crash my machine. I laught
> but he did it :(.
>
> What he wrote was ' int main(void) {while(1) fork(); }' compiled it
> and run it. Within a second /kernel said "proc: table is full" and
> died. I tried this on some other BSD unixes and the result was
> same. (BTW Minix 2.0 seem unaffected and probably other SVR4
> variants, because you can limit the number of system processes
> and system still have resources to work fine(although slow))
>
And you can do the same with BSD. See limits(1), csh(1), sh(1),
login.conf(5)
> With sysctl() I found that my system can work with up to 532 procs
> simulanteously, but didnt found where this value is set in the src/
> or probably where it is computed.
>
See LINT - it is computed from maxusers.
> So I sit down and wrote a static library that introduse a new fork()
> (nfork()) and _exit() (nexit()) whose only purpose is to lower the
> effect ot fast fork()s by sleeping accordingly to the number of times
> fork() was called.I tend to make some more things with that piece
> of code (in the attachment) and probably to add it to the kenel src
> but for now it is easier to use it as a library.
>
I'm not really sure how usefull this is in general.
> Any suggestions about tarball included are welcome.
> Looking forward to hearing from you.
> Thanks for reading my letter Ix
>
To Unsubscribe: send mail to [EMAIL PROTECTED]
with "unsubscribe freebsd-hackers" in the body of the message