From owner-freebsd-arch@FreeBSD.ORG Tue Jun 5 13:35:36 2012 Return-Path: Delivered-To: freebsd-arch@FreeBSD.ORG Received: from mx1.freebsd.org (mx1.freebsd.org [69.147.83.52]) by hub.freebsd.org (Postfix) with ESMTP id 31FA91065674; Tue, 5 Jun 2012 13:35:36 +0000 (UTC) (envelope-from ache@vniz.net) Received: from vniz.net (vniz.net [194.87.13.69]) by mx1.freebsd.org (Postfix) with ESMTP id 534128FC0C; Tue, 5 Jun 2012 13:35:12 +0000 (UTC) Received: from localhost (localhost [127.0.0.1]) by vniz.net (8.14.5/8.14.5) with ESMTP id q55DZA9X014565; Tue, 5 Jun 2012 17:35:10 +0400 (MSK) (envelope-from ache@vniz.net) Received: (from ache@localhost) by localhost (8.14.5/8.14.5/Submit) id q55DZ8EY014564; Tue, 5 Jun 2012 17:35:08 +0400 (MSK) (envelope-from ache) Date: Tue, 5 Jun 2012 17:35:08 +0400 From: Andrey Chernov To: Dag-Erling Sm??rgrav Message-ID: <20120605133508.GA14460@vniz.net> Mail-Followup-To: Andrey Chernov , Dag-Erling Sm??rgrav , Pawel Jakub Dawidek , svn-src-head@FreeBSD.ORG, svn-src-all@FreeBSD.ORG, src-committers@FreeBSD.ORG, freebsd-arch@FreeBSD.ORG References: <201206042134.q54LYoVJ067685@svn.freebsd.org> <20120605074741.GA1391@garage.freebsd.pl> <86txypvr9t.fsf@ds4.des.no> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <86txypvr9t.fsf@ds4.des.no> User-Agent: Mutt/1.5.21 (2010-09-15) Cc: svn-src-head@FreeBSD.ORG, svn-src-all@FreeBSD.ORG, src-committers@FreeBSD.ORG, Pawel Jakub Dawidek , freebsd-arch@FreeBSD.ORG Subject: Re: svn commit: r236582 - head/lib/libc/stdlib X-BeenThere: freebsd-arch@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: Discussion related to FreeBSD architecture List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 05 Jun 2012 13:35:36 -0000 On Tue, Jun 05, 2012 at 03:10:06PM +0200, Dag-Erling Sm??rgrav wrote: > Pawel Jakub Dawidek writes: > > Very interesting. However free(3) is always successful. Maybe we need > > more context here, but the sentence above might talk about functions > > that can either succeed or fail and such functions do set errno on > > failure, but we don't know what they do to errno on success - they > > sometimes interact with the errno, free(3) never does. > > Even if free() itself never fails, it might have side effects such as > unmapping a slab, logging a KTR event etc. which can modify errno. I totally agree. Even if our free() will be cleaned in this sense or save errno internally, we need the code which not relays on some particular implementation but works in general scope with any standard-conformant free(). -- http://ache.vniz.net/