From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 43505 invoked by alias); 20 Feb 2018 10:12:33 -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 43490 invoked by uid 89); 20 Feb 2018 10:12:32 -0000 Authentication-Results: sourceware.org; auth=none X-Virus-Found: No X-Spam-SWARE-Status: No, score=-2.0 required=5.0 tests=AWL,BAYES_00,FREEMAIL_FROM,RCVD_IN_DNSWL_NONE,SPF_PASS autolearn=ham version=3.3.2 spammy=day X-HELO: mail-qk0-f176.google.com Received: from mail-qk0-f176.google.com (HELO mail-qk0-f176.google.com) (209.85.220.176) by sourceware.org (qpsmtpd/0.93/v0.84-503-g423c35a) with ESMTP; Tue, 20 Feb 2018 10:12:31 +0000 Received: by mail-qk0-f176.google.com with SMTP id b130so15682644qkg.9 for ; Tue, 20 Feb 2018 02:12:30 -0800 (PST) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:mime-version:in-reply-to:references:from:date :message-id:subject:to:cc:content-transfer-encoding; bh=ChQJHLI2bAqyEGa8knJ3/Tu9nAs4P9tqr2UDxB7n+Iw=; b=tpzFA/KvLIGn8gd4y2PDZBtb0zbI1n8aaSl+gt00cek6tNQlAq3o5sPN8kmc/2T6jH elxgBAX2PlGkSlFg3FhQ2EUo46EmgcmmrfRXf5tUmKwUxnr5Pq8XcXr7QO+I5/iaWly3 pKXBKp3s1p50mmu7IjHv3qnpht1iHmoST1ubBaPsuqecC3DU7AoxqhfaYdo7cGMzzkI4 aA1mCbBz9+pPfQZ7IWqyCrwV/KGgRHdR7YnkS81wxGcDs1j82aeE5X4PgSW1o+z80Z2J kQ0LKRYX/HraDBlzHqObOXW32oQtMSsPptFgaOD3Y29OcI+YeiD7nI8IzXcXqVtwAHXS 6KQw== X-Gm-Message-State: APf1xPDG1MeodYW8ZW2h4cMOJsMLEKM0nZpFfnrdh9ch+T2QkGDp7Lac MN9HXoRbxHImFUgnhRaaqjOoraWkJU3UbY/nvX4= X-Google-Smtp-Source: AH8x224hy0WexnHLuEY/znIiBZr2dpqtnLQX8bkOy2hMiZiUC5J8oD56f5PIYFKor4iwewpJ0t5lGuF/Kf+vpDxnMPM= X-Received: by 10.55.39.208 with SMTP id n199mr25407263qkn.138.1519121549336; Tue, 20 Feb 2018 02:12:29 -0800 (PST) MIME-Version: 1.0 Received: by 10.12.168.200 with HTTP; Tue, 20 Feb 2018 02:12:28 -0800 (PST) In-Reply-To: References: <1516976072-19282-1-git-send-email-markus.t.metzger@intel.com> <1516976072-19282-2-git-send-email-markus.t.metzger@intel.com> From: Yao Qi Date: Tue, 20 Feb 2018 10:12:00 -0000 Message-ID: Subject: Re: [PATCH v2 1/7] common: add scoped_fd To: "Metzger, Markus T" Cc: GDB Patches Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable X-IsSubscribed: yes X-SW-Source: 2018-02/txt/msg00256.txt.bz2 On Mon, Feb 19, 2018 at 3:28 PM, Metzger, Markus T wrote: > Hello Yao, > > Looks like they added mkstemp() in 2015 after a few complaints: > https://sourceforge.net/u/jeisele123/mingw-w64/ci/f713f639f6f017371c5176f= 4deab07d1a92473b4/ > Thanks for looking into this... > How about checking for mkstemp and, if not available, falling back to tmp= nam. Can we unconditionally use tmpnam+open which are more portable? I know it is racy, but mkstemp is only used in a test case. It is overkill to me = to do the configure check or import gnulib module. If we use mkstemp in gdb source (not test case) one day in the future, I pr= efer importing gnulib module. What do you think? > Something like this: > > #ifndef HAVE_MKSTEMP > > #include > #include > #include > #include > > /* Define a racy version of mkstemp based on tmpnam for systems that do n= ot > support mkstemp. */ > static int > mkstemp (char *name) > { > if (strlen (name) < L_tmpnam) > return -1; > > name =3D tmpnam (name); > if (name =3D=3D nullptr) > return -1; > > return open (name); > } > > #endif /* HAVE_MKSTEMP */ > --=20 Yao (=E9=BD=90=E5=B0=A7)