From mboxrd@z Thu Jan 1 00:00:00 1970 Content-Type: text/plain; charset=utf-8 Mime-Version: 1.0 (Mac OS X Mail 8.1 \(1993\)) From: arisawa In-Reply-To: Date: Tue, 27 Jan 2015 16:03:16 +0900 Content-Transfer-Encoding: quoted-printable Message-Id: References: <0F748B67-FB11-464C-84FA-66B4E0B29918@9.offblast.org> <44900c0d4896622fa8a9411b05efe730@brasstown.quanstro.net> <7A132462-4747-471A-A4BF-D9381E38A4EA@ar.aichi-u.ac.jp> <4c37cf728d5b0e7ae4ebd3c2e0c2cee4@brasstown.quanstro.net> To: Fans of the OS Plan 9 from Bell Labs <9fans@9fans.net> Subject: Re: [9fans] protection against resource exhaustion Topicbox-Message-UUID: 3baee4f4-ead9-11e9-9d60-3106f5b1d025 Hello, > i think it will go the same way with fork protection. how do you tell = which program > is at fault? how do you tell a program forking at high frequency, = with short lived > children from a fork bomb? (such as a busy web server.) only system administrator knows which processes should keep running. therefore, as Lyndon mentioned, we need a mark =E2=80=9Cdon=E2=80=99t = kill by resource exhaustion=E2=80=9D to processes. if automatic determination is desired, the last stage of /rc/bin/cpurc = and /rc/bin/termrc may be the right place. > i'm not sure i understand what you mean by "traditional programming = style" here > as plan 9 exists in part to break unix rules. as Eric mentioned, we have many many codes such as p =3D malloc(n); if(p =3D=3D nil){ ... } or switch(pid =3D fork()) {/* assign =3D */ case -1: sysfatal("fork: %r"); case 0: ... default: ... } I have beeb writing codes believing those error return is working.