From owner-freebsd-hackers Thu Jul 15 21:52:59 1999 Delivered-To: freebsd-hackers@freebsd.org Received: from apollo.backplane.com (apollo.backplane.com [209.157.86.2]) by hub.freebsd.org (Postfix) with ESMTP id 7E02214F6A; Thu, 15 Jul 1999 21:52:56 -0700 (PDT) (envelope-from dillon@apollo.backplane.com) Received: (from dillon@localhost) by apollo.backplane.com (8.9.3/8.9.1) id VAA15530; Thu, 15 Jul 1999 21:52:56 -0700 (PDT) (envelope-from dillon) Date: Thu, 15 Jul 1999 21:52:56 -0700 (PDT) From: Matthew Dillon Message-Id: <199907160452.VAA15530@apollo.backplane.com> To: "Brian F. Feldman" Cc: Andrew Reilly , "Daniel C. Sobral" , lyndon@orthanc.ab.ca, freebsd-hackers@FreeBSD.ORG Subject: Re: Swap overcommit References: Sender: owner-freebsd-hackers@FreeBSD.ORG Precedence: bulk X-Loop: FreeBSD.ORG :> The are dozens of libc routines which call malloc internally and return :> allocated storage. strdup(), opendir(), fopen(), setvbuf(), asprintf(), :> and so forth. Dozens. And while we might check some of these for NULL, :> we don't check them all, and the ones we do check we tend to conclude :> a failure other then a memory failure. We would assume that the directory :> or file does not exist, for example. How many programmers check errno :> after such a failure? Very few. How many programmers bother to even :> *clear* errno before making these calls (since some system calls do not : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ :We're not supposed to have to clear errno unless we have to explicitly :test if it has changed. We're not supposed to clear it before any system :call which could possibly fail and set errno. : :> set errno if it already non-zero). Virtually nobody. : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ :Erm... WTF?!?! If so, why the HELL are we doing that?!? No, wait, I got that wrong I think. Oh yah, I remember now. Hmm. How odd. I came across a case where read() could return -1 and not set errno properly if errno was already set, but a perusal of the kernel code seems to indicate that this can't happen. Very weird. -Matt Matthew Dillon To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe freebsd-hackers" in the body of the message