From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 96489 invoked by alias); 26 Sep 2018 14:12:09 -0000 Mailing-List: contact gdb-patches-help@sourceware.org; run by ezmlm Precedence: bulk List-Id: List-Subscribe: List-Archive: List-Post: List-Help: , Sender: gdb-patches-owner@sourceware.org Received: (qmail 96462 invoked by uid 89); 26 Sep 2018 14:12:08 -0000 Authentication-Results: sourceware.org; auth=none X-Spam-SWARE-Status: No, score=-2.3 required=5.0 tests=AWL,BAYES_00,SPF_PASS autolearn=ham version=3.3.2 spammy=H*r:4.82, H*r:TLS1.2, Hx-languages-length:912 X-HELO: eggs.gnu.org Received: from eggs.gnu.org (HELO eggs.gnu.org) (208.118.235.92) by sourceware.org (qpsmtpd/0.93/v0.84-503-g423c35a) with ESMTP; Wed, 26 Sep 2018 14:12:03 +0000 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1g5AXl-00089s-LC for gdb-patches@sourceware.org; Wed, 26 Sep 2018 10:12:01 -0400 Received: from fencepost.gnu.org ([2001:4830:134:3::e]:55912) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1g5AXl-00088q-HE; Wed, 26 Sep 2018 10:11:57 -0400 Received: from [176.228.60.248] (port=3731 helo=home-c4e4a596f7) by fencepost.gnu.org with esmtpsa (TLS1.2:RSA_AES_256_CBC_SHA1:256) (Exim 4.82) (envelope-from ) id 1g5AXl-0005PE-7e; Wed, 26 Sep 2018 10:11:57 -0400 Date: Wed, 26 Sep 2018 14:12:00 -0000 Message-Id: <83ftxw8i1g.fsf@gnu.org> From: Eli Zaretskii To: Tom Tromey CC: gdb-patches@sourceware.org In-reply-to: <20180926111130.18956-6-tom@tromey.com> (message from Tom Tromey on Wed, 26 Sep 2018 05:11:29 -0600) Subject: Re: [RFC 5/6] Do not reopen temporary files References: <20180926111130.18956-1-tom@tromey.com> <20180926111130.18956-6-tom@tromey.com> X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.2.x-3.x [generic] X-Received-From: 2001:4830:134:3::e X-IsSubscribed: yes X-SW-Source: 2018-09/txt/msg00852.txt.bz2 > From: Tom Tromey > Cc: Tom Tromey > Date: Wed, 26 Sep 2018 05:11:29 -0600 > > The current callers of mkostemp close the file descriptor and then > re-open it with fopen. It seemed better to me to continue to use the > already-opened file descriptor, so this patch rearranges the code a > little in order to do so. It takes care to ensure that the files are > only unlinked after the file descriptor in question is closed, as > before. Bother... > - FILE *out_file = gdb_fopen_cloexec (filename_temp.data (), "wb").release (); > + gdb_file_up out_file = out_file_fd.to_file ("wb"); There's a known bug in the MS-Windows (thus MinGW) implementation of 'fdopen': it ignores the 'b' and 't' flags. So the preceding call to 'open' must itself specify the O_BINARY flag, or else this replacement will introduce a subtle bug. Thanks.