From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.io!.POSTED.blaine.gmane.org!not-for-mail From: Henrik Grimler Newsgroups: gmane.emacs.bugs Subject: bug#47596: File descriptor error when exiting emacs on android 11 Date: Mon, 05 Apr 2021 19:29:52 +0200 Message-ID: <2215b2299da65d790a705d9b83051028a1a2b693.camel@grimler.se> References: <83im51deye.fsf@gnu.org> <730dad3a54f0f53b22e9603879e949b60f5b2c00.camel@grimler.se> <191e2295b88384adf0e7cc1e3dc84cf8f37eb973.camel@grimler.se> <838s5wdhef.fsf@gnu.org> Mime-Version: 1.0 Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: 8bit Injection-Info: ciao.gmane.io; posting-host="blaine.gmane.org:116.202.254.214"; logging-data="18413"; mail-complaints-to="usenet@ciao.gmane.io" User-Agent: Evolution 3.38.4 Cc: 47596@debbugs.gnu.org To: Eli Zaretskii Original-X-From: bug-gnu-emacs-bounces+geb-bug-gnu-emacs=m.gmane-mx.org@gnu.org Mon Apr 05 19:31:11 2021 Return-path: Envelope-to: geb-bug-gnu-emacs@m.gmane-mx.org Original-Received: from lists.gnu.org ([209.51.188.17]) by ciao.gmane.io with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.92) (envelope-from ) id 1lTT4B-0004hC-2V for geb-bug-gnu-emacs@m.gmane-mx.org; Mon, 05 Apr 2021 19:31:11 +0200 Original-Received: from localhost ([::1]:55758 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1lTT4A-0003r5-3Q for geb-bug-gnu-emacs@m.gmane-mx.org; Mon, 05 Apr 2021 13:31:10 -0400 Original-Received: from eggs.gnu.org ([2001:470:142:3::10]:57606) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1lTT42-0003qi-Ig for bug-gnu-emacs@gnu.org; Mon, 05 Apr 2021 13:31:02 -0400 Original-Received: from debbugs.gnu.org ([209.51.188.43]:55204) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1lTT42-0008CL-BI for bug-gnu-emacs@gnu.org; Mon, 05 Apr 2021 13:31:02 -0400 Original-Received: from Debian-debbugs by debbugs.gnu.org with local (Exim 4.84_2) (envelope-from ) id 1lTT42-00005R-8x for bug-gnu-emacs@gnu.org; Mon, 05 Apr 2021 13:31:02 -0400 X-Loop: help-debbugs@gnu.org Resent-From: Henrik Grimler Original-Sender: "Debbugs-submit" Resent-CC: bug-gnu-emacs@gnu.org Resent-Date: Mon, 05 Apr 2021 17:31:02 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 47596 X-GNU-PR-Package: emacs Original-Received: via spool by 47596-submit@debbugs.gnu.org id=B47596.161764380332653 (code B ref 47596); Mon, 05 Apr 2021 17:31:02 +0000 Original-Received: (at 47596) by debbugs.gnu.org; 5 Apr 2021 17:30:03 +0000 Original-Received: from localhost ([127.0.0.1]:38516 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1lTT34-0008Ub-Pa for submit@debbugs.gnu.org; Mon, 05 Apr 2021 13:30:03 -0400 Original-Received: from h04mx15.reliablemail.org ([185.76.67.208]:28870) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1lTT32-0008Tg-Vw for 47596@debbugs.gnu.org; Mon, 05 Apr 2021 13:30:01 -0400 X-Halon-Out: 88601665-9634-11eb-a4a4-354a41e2f763 DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=grimler.se; s=default; h=Content-Transfer-Encoding:MIME-Version:Content-Type:References: In-Reply-To:Date:Cc:To:From:Subject:Message-ID:Sender:Reply-To:Content-ID: Content-Description:Resent-Date:Resent-From:Resent-Sender:Resent-To:Resent-Cc :Resent-Message-ID:List-Id:List-Help:List-Unsubscribe:List-Subscribe: List-Post:List-Owner:List-Archive; bh=aYBTpUNHsQcYbQb54i+nZfmQUJQ15WlS72RoAqpAKcA=; b=W0qRIt/+FVjPDOubghonO+EfoI VFdTTnQCyokeh8MWD4efzUXVFFUUt3RCJDM1buLxBIzd6WCNBR0I7Gli9KhDdKxdd/S6m6EXRb1Yy fKenIJToTb62hTh2J2yz3XeexUyL2Vwc562XcHyhiqPq/7StGzyZc3NlVyodd0830n+/NFGL3WLcd vqnDfEx1yv7gXPctP5P7JTKnX8VRwLsSpkgwrJ+X5sJPnKMmGOPcbPrPCBV0/92GbZucIr7rJ5q9x lwZtScRXpDln5DwsMO4/rp8zSOBmMl2z9VeUeG7AVTe+ukVHcPtjnQHjxla6eJfKz00hcE2cMP/uH m/nTPMOw==; In-Reply-To: <838s5wdhef.fsf@gnu.org> X-OutGoing-Spam-Status: No, score=-1.0 X-AntiAbuse: This header was added to track abuse, please include it with any abuse report X-AntiAbuse: Primary Hostname - cpsrv07.misshosting.com X-AntiAbuse: Original Domain - debbugs.gnu.org X-AntiAbuse: Originator/Caller UID/GID - [47 12] / [47 12] X-AntiAbuse: Sender Address Domain - grimler.se X-Get-Message-Sender-Via: cpsrv07.misshosting.com: authenticated_id: henrik@grimler.se X-Authenticated-Sender: cpsrv07.misshosting.com: henrik@grimler.se X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list X-BeenThere: bug-gnu-emacs@gnu.org List-Id: "Bug reports for GNU Emacs, the Swiss army knife of text editors" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: bug-gnu-emacs-bounces+geb-bug-gnu-emacs=m.gmane-mx.org@gnu.org Original-Sender: "bug-gnu-emacs" Xref: news.gmane.io gmane.emacs.bugs:203601 Archived-At: Hi, I received feedback on the android issue tracker  https://issuetracker.google.com/issues/184380442  that the snippet: > > #include > > int main() > > { > >   fdopen (2, "w"); > >   fclose (stderr); > > } is problematic, because: > yes. you have two FILE*s that both think they own file descriptor 2. > depending on what you're actually trying to do, you probably meant to > use freopen(3) instead? https://man7.org/linux/man-pages/man3/fopen.3.html Does freopen make sense for buferr? > > In emacs fdopen is run in init_standard_fds, where we have > > > >   force_open (STDERR_FILENO, O_RDONLY); > > > >   /* Set buferr if possible on platforms defining _PC_PIPE_BUF, as > >      they support the notion of atomic writes to pipes.  */ > >   #ifdef _PC_PIPE_BUF > >     buferr = fdopen (STDERR_FILENO, "w"); > >     if (buferr) > >       setvbuf (buferr, NULL, _IOLBF, 0); > >   #endif > > } > > This just creates a copy of stderr that has special buffering.  > Again, > entirely valid for a C program to do that. I probably should have included a bit more context in the android bug report to better show what the code does. Best regards, Henrik Grimler