|
From: | Paul Eggert |
Subject: | bug#33154: 27.0.50; create_process on Darwin should not invoke setsid() after vfork() [PATCH] |
Date: | Tue, 6 Nov 2018 23:41:46 -0800 |
User-agent: | Mozilla/5.0 (X11; Linux x86_64; rv:60.0) Gecko/20100101 Thunderbird/60.2.1 |
Filipp Gunbin wrote:
In your patch, we don't detach from current (Emacs's) controlling terminal before doing TIOCSCTTY.
Ah, OK. I see also that vfork won't work on Darwin if pty mode is used, since Emacs wants to create a new session and Darwin setsid always fails in a vforked child that has not yet execed.
However, your patch introduces another duplicate of the open/TIOCNOTTY/close fallback code, making three duplicates in all. How about if we coalesce these duplicates into a function and then call that function? Also, I think we can call the function from just two places (not three). Furthermore, I think it'd be more robust if Emacs does setsid everywhere (with a fallback to open/TIOCNOTTY/close everywhere TIOCNOTTY is available), not just Darwin. Proposed patch (against master) attached.
0001-Dissociate-controlling-tty-better-on-Darwin.patch
Description: Text Data
[Prev in Thread] | Current Thread | [Next in Thread] |