From owner-cvs-all@FreeBSD.ORG Mon Apr 18 14:58:14 2005 Return-Path: Delivered-To: cvs-all@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id BC4DD16A4CE; Mon, 18 Apr 2005 14:58:14 +0000 (GMT) Received: from kane.otenet.gr (kane.otenet.gr [195.170.0.27]) by mx1.FreeBSD.org (Postfix) with ESMTP id B946343D46; Mon, 18 Apr 2005 14:58:13 +0000 (GMT) (envelope-from keramida@freebsd.org) Received: from orion.daedalusnetworks.priv (aris.bedc.ondsl.gr [62.103.39.226])j3IEv5Ld005186; Mon, 18 Apr 2005 17:57:05 +0300 Received: from orion.daedalusnetworks.priv (orion [127.0.0.1]) j3IEw9c0053469; Mon, 18 Apr 2005 17:58:09 +0300 (EEST) (envelope-from keramida@freebsd.org) Received: (from keramida@localhost)j3IEw9ZB053468; Mon, 18 Apr 2005 17:58:09 +0300 (EEST) (envelope-from keramida@freebsd.org) Date: Mon, 18 Apr 2005 17:58:09 +0300 From: Giorgos Keramidas To: Tim Kientzle Message-ID: <20050418145809.GA53370@orion.daedalusnetworks.priv> References: <200504172249.j3HMn0Uu034720@repoman.freebsd.org> Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <200504172249.j3HMn0Uu034720@repoman.freebsd.org> cc: cvs-src@freebsd.org cc: src-committers@freebsd.org cc: cvs-all@freebsd.org Subject: Re: cvs commit: src/lib/libarchive archive_read_extract.c X-BeenThere: cvs-all@freebsd.org X-Mailman-Version: 2.1.1 Precedence: list List-Id: CVS commit messages for the entire tree List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 18 Apr 2005 14:58:14 -0000 On 2005-04-17 22:49, Tim Kientzle wrote: > kientzle 2005-04-17 22:49:00 UTC > > FreeBSD src repository > > Modified files: > lib/libarchive archive_read_extract.c > Log: > Portability enhancement: MS Windows won't restore metadata if the file > is still open, so close the file as soon as we've written the > file contents, before we attempt to restore metadata. > > Thanks to: Kees Zeelenberg This may lead to a race though. Between the close() and the restore_metadata() call, the file may have gone away and another one could take its place. Is there some way to do the close-then-restore only on Windows?