unofficial mirror of emacs-devel@gnu.org 
 help / color / mirror / code / Atom feed
From: Eli Zaretskii <eliz@gnu.org>
To: Pip Cet <pipcet@protonmail.com>
Cc: emacs-devel@gnu.org
Subject: Re: MPS: Win64 testers?
Date: Sun, 28 Jul 2024 17:20:57 +0300	[thread overview]
Message-ID: <86y15lzjg6.fsf@gnu.org> (raw)
In-Reply-To: <ZCXDAsmqmPOA5VZAtpRfvokwlsTA0RW9JIQ8eEbYAODaqX_qYw9uVoQZn02wMfLMTTIUd2Eyyx8arDEPvXsVDbhEjE3mFnCSPmh81_bccSo=@protonmail.com> (message from Pip Cet on Sun, 28 Jul 2024 13:00:20 +0000)

> Date: Sun, 28 Jul 2024 13:00:20 +0000
> From: Pip Cet <pipcet@protonmail.com>
> Cc: emacs-devel@gnu.org
> 
> On Sunday, July 28th, 2024 at 05:25, Eli Zaretskii <eliz@gnu.org> wrote:
> > > Date: Sat, 27 Jul 2024 20:22:34 +0000
> > > From: Pip Cet pipcet@protonmail.com
> > > Cc: emacs-devel@gnu.org
> > > It's been that way since 2004, if the git history is to be believed.
> > 
> > I guess they have some unsolved issues with the standard streams,
> > which is why they don't dare reusing their slots. Which means closing
> > these standard streams is a no-no on Wine.
> 
> I don't know. I suspect they just never thought (20 years ago!) that anyone would want to close a standard stream. Any idea what UCRT does?

It seems to be doing the same as MSVCRT, at least if the UCRT sources
available out there are to be believed.

> > But if this is what Wine does, then what do you get from the various
> > fprintf debugging code in Emacs? For example, if you build with the
> > "--enable-checking='yes,glyphs'" option, you get the trace-redisplay
> > command which outputs debugging information about redisplay to stderr,
> > and also the dump-glyph-matrix command which prints the glyph matrix
> > to stderr. Do these print-outs still work although stderr was closed
> > in init_ntproc?
> 
> I tried with GDB, and fprintf(stderr, ...) stops working in init_ntproc.

So they do fclose the stream, just don't provide a way of reopening a
standard stream.

Is there any way for a program running on Wine to detect that this is
what happens? like some special version number or something?  If so,
I'd just avoid all that code in init_ntproc on Wine, since leaving the
standard streams inheritable is a much smaller trouble than losing the
standard streams.

> As for the code in question, if I understand it correctly, the current Windows idiom would be simply (I assume _open_osfhandle clears the flag?):
> 
> SetHandleInformation (GetStdHandle (STD_INPUT_HANDLE), HANDLE_FLAG_INHERIT, 0);

I'm not sure you can do this without closing the stream, since the
program has already started by that time.  And SetHandleInformation is
only available since Windows 2K, so we'd need to call it through a
function pointer.  Not sure if that is justified just to support Wine
(which probably has quite a few other incompatibilities).

> The version information for availability of "SetHandleInformation" and "DuplicateHandle" is the same, so any idea why we're not just doing that, or is it just lost in history?

See above: we still strive to support Windows 9X and NT.



  reply	other threads:[~2024-07-28 14:20 UTC|newest]

Thread overview: 121+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2024-07-24 15:45 MPS: Win64 testers? Pip Cet
2024-07-25  7:16 ` Eli Zaretskii
2024-07-25 15:39   ` Pip Cet
2024-07-27  8:02     ` Eli Zaretskii
2024-07-27 10:42       ` Pip Cet
2024-07-27 12:14         ` Eli Zaretskii
2024-07-27 15:49           ` Pip Cet
2024-07-27 16:10             ` Eli Zaretskii
2024-07-27 16:56               ` Eli Zaretskii
2024-07-27 18:27                 ` Pip Cet
2024-07-27 18:50                   ` Eli Zaretskii
2024-07-27 20:22                     ` Pip Cet
2024-07-28  5:25                       ` Eli Zaretskii
2024-07-28 13:00                         ` Pip Cet
2024-07-28 14:20                           ` Eli Zaretskii [this message]
2024-07-28 15:00                             ` Pip Cet
2024-07-28 15:20                               ` Eli Zaretskii
2024-07-28 20:22                                 ` Pip Cet
2024-07-29 11:25                                   ` Eli Zaretskii
2024-07-31  6:18                                     ` Pip Cet
2024-07-31 14:02                                       ` Eli Zaretskii
2024-07-31 19:04                                         ` Sebastián Monía
2024-08-01  5:00                                           ` Eli Zaretskii
2024-08-03  7:50                                         ` pipcet
2024-08-03  9:23                                           ` Eli Zaretskii
2024-08-03 15:17                                             ` pipcet
2024-08-03 16:07                                               ` Eli Zaretskii
2024-07-30  2:51               ` MPS: Lose64 testers? Richard Stallman
2024-07-27 16:09         ` MPS: Win64 testers? Michael Albinus
2024-07-28 13:22           ` Pip Cet
2024-07-28 17:32             ` Emba (was: MPS: Win64 testers?) Michael Albinus
  -- strict thread matches above, loose matches on Subject: below --
2024-07-25  9:45 MPS: Win64 testers? Angelo Graziosi
2024-07-25 10:02 ` Stefan Kangas
2024-07-25 11:35 ` Eli Zaretskii
2024-07-27 14:22   ` Angelo Graziosi
2024-08-06  3:04 Quang Kien Nguyen
2024-08-06  7:03 ` Quang Kien Nguyen
2024-08-06 11:40 ` Eli Zaretskii
2024-08-06 17:39   ` Quang Kien Nguyen
2024-08-06 18:32     ` Eli Zaretskii
2024-08-06 20:52       ` Quang Kien Nguyen
2024-08-07 11:41         ` Eli Zaretskii
2024-08-07 18:32           ` Quang Kien Nguyen
2024-08-08  5:46             ` Eli Zaretskii
2024-08-08 23:44               ` Quang Kien Nguyen
2024-08-09  6:00                 ` Eli Zaretskii
2024-08-09  6:10                   ` Eli Zaretskii
2024-08-09  9:19                     ` Quang Kien Nguyen
2024-08-09 11:03                       ` Eli Zaretskii
2024-08-13 12:12                         ` Quang Kien Nguyen
2024-08-13 12:37                           ` Eli Zaretskii
2024-08-13 15:51                             ` Pip Cet
2024-08-13 18:26                               ` Quang Kien Nguyen
2024-08-13 19:19                                 ` Eli Zaretskii
2024-08-13 20:22                                   ` Quang Kien Nguyen
2024-08-14 13:11                                     ` Sebastián Monía
2024-08-14 17:24                                       ` Quang Kien Nguyen
2024-08-16 20:09                                         ` Sebastián Monía
2024-08-17 11:37                                           ` Sebastián Monía
2024-08-17 12:54                                             ` Eli Zaretskii
2024-08-17 13:24                                               ` Sebastián Monía
2024-08-19 14:34                                                 ` Sebastián Monía
2024-08-19 14:55                                                   ` Eli Zaretskii
2024-08-19 15:12                                                     ` Pip Cet
2024-08-19 15:23                                                     ` Sebastián Monía
2024-08-19 15:31                                                       ` Quang Kien Nguyen
2024-08-19 16:23                                                         ` Quang Kien Nguyen
2024-08-21 18:14                                                           ` Sebastián Monía
2024-08-21 18:20                                                             ` Pip Cet
2024-08-21 19:46                                                               ` Sebastián Monía
2024-08-21 18:22                                                             ` Ihor Radchenko
2024-08-21 19:48                                                               ` Sebastián Monía
2024-08-22 17:34                                                             ` Sebastián Monía
2024-08-22 17:51                                                               ` Pip Cet
2024-08-22 18:34                                                                 ` Eli Zaretskii
2024-08-22 19:12                                                                   ` Quang Kien Nguyen
2024-08-23  5:32                                                                     ` Eli Zaretskii
2024-08-22 19:14                                                                   ` Pip Cet
2024-08-23  5:38                                                                     ` Eli Zaretskii
2024-08-23  7:59                                                                       ` Pip Cet
2024-08-23 13:08                                                                         ` Eli Zaretskii
2024-08-23 13:42                                                                           ` Quang Kien Nguyen
2024-08-23 13:48                                                                             ` Pip Cet
2024-08-23 14:35                                                                               ` Eli Zaretskii
2024-08-23 14:54                                                                                 ` Quang Kien Nguyen
2024-08-23 16:08                                                                                   ` Eli Zaretskii
2024-08-23 18:23                                                                                   ` Sebastián Monía
2024-08-23 13:44                                                                           ` Pip Cet
2024-08-23 14:32                                                                             ` Eli Zaretskii
2024-08-23 15:51                                                                               ` Pip Cet
2024-08-23 16:17                                                                                 ` Eli Zaretskii
2024-08-23 18:57                                                                                   ` Pip Cet
2024-08-23 19:28                                                                                     ` Eli Zaretskii
2024-08-24 17:31                                                                         ` Pip Cet
2024-08-25  3:17                                                                           ` Quang Kien Nguyen
2024-08-30 19:59                                                                             ` Sebastián Monía
2024-09-01  8:21                                                                               ` Kien Nguyen
2024-09-01  8:43                                                                                 ` Eli Zaretskii
2024-09-01  9:36                                                                                   ` Kien Nguyen
2024-09-01 10:28                                                                                     ` Eli Zaretskii
2024-09-01 11:59                                                                                       ` Eli Zaretskii
2024-09-01 18:54                                                                                         ` Kien Nguyen
2024-09-01 19:27                                                                                           ` Eli Zaretskii
2024-09-01 19:44                                                                                           ` Pip Cet
2024-09-01 21:42                                                                                             ` Kien Nguyen
2024-09-02 11:08                                                                                             ` Eli Zaretskii
2024-09-03  4:12                                                                                               ` Kien Nguyen
2024-09-03 10:37                                                                                                 ` Pip Cet
2024-09-03 16:50                                                                                                   ` Kien Nguyen
2024-09-03 17:48                                                                                                     ` Pip Cet
2024-09-07  8:19                                                                                           ` Eli Zaretskii
2024-09-01 10:49                                                                                 ` Pip Cet
2024-09-01 12:15                                                                                   ` Kien Nguyen
2024-08-22 18:11                                                               ` Eli Zaretskii
2024-08-22 19:17                                                                 ` Sebastián Monía
2024-08-23  5:45                                                                   ` Eli Zaretskii
2024-08-07 19:50           ` Pip Cet
2024-08-07 23:14             ` Quang Kien Nguyen
2024-08-08  5:15             ` Eli Zaretskii
2024-08-06 14:18 ` Pip Cet
2024-08-07 11:03   ` Eli Zaretskii

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

  List information: https://www.gnu.org/software/emacs/

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=86y15lzjg6.fsf@gnu.org \
    --to=eliz@gnu.org \
    --cc=emacs-devel@gnu.org \
    --cc=pipcet@protonmail.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
Code repositories for project(s) associated with this public inbox

	https://git.savannah.gnu.org/cgit/emacs.git

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).