| www.delorie.com/archives/browse.cgi | search |
| X-Authentication-Warning: | delorie.com: mail set sender to djgpp-bounces using -f |
| X-Recipient: | djgpp AT delorie DOT com |
| X-Original-DKIM-Signature: | v=1; a=rsa-sha256; c=relaxed/simple; d=gmx.net; |
| s=badeba3b8450; t=1566671105; | |
| bh=QmdeLQ5hLoQ82A7zMUH5/vtF0Nokh9Awrf5UqTMhmTc=; | |
| h=X-UI-Sender-Class:Date:From:To:Subject:References:In-Reply-To; | |
| b=jVPo3azCkMZv4I/f6gZzt1vjxgnPr7gmXVJ/Jz7Hw/hWBqtsANUOP4eK/3ROhYsQS | |
| Wccp8KmSrc5hkc/w7nH45qg68dzQInI3Fq3pJQIW82H9qOs0tdc7pJX4BCOmlcTXmt | |
| faNt54VDPVexDnUFo6uJ1FMiVEMGRV6SmgLyWz1E= | |
| X-UI-Sender-Class: | 01bb95c1-4bf8-414a-932a-4f6e2808ef9c |
| Message-ID: | <5D618105.9020108@gmx.de> |
| Date: | Sat, 24 Aug 2019 20:25:09 +0200 |
| From: | "Juan Manuel Guerrero (juan DOT guerrero AT gmx DOT de) [via djgpp AT delorie DOT com]" <djgpp AT delorie DOT com> |
| User-Agent: | Mozilla/5.0 (X11; U; Linux x86_64; de; rv:1.9.2.13) Gecko/20101206 SUSE/3.1.7 Thunderbird/3.1.7 |
| MIME-Version: | 1.0 |
| To: | djgpp AT delorie DOT com |
| Subject: | Re: [PATCH] exec: fix inversions in leak detection logic |
| References: | <964e3268-2f75-ee73-ab5a-b01bf1aadb98 AT yandex DOT ru> <qjb14m$1kqj$1 AT gioia DOT aioe DOT org> <7209026e-1f1b-e590-00a3-4ed1a424cc0d AT yandex DOT ru> <qjfkbp$1o2c$1 AT gioia DOT aioe DOT org> <bd347f78-b176-6992-291c-2e542241efa1 AT yandex DOT ru> <qjgf7r$1b15$1 AT gioia DOT aioe DOT org> <83d0gzlxgq DOT fsf AT gnu DOT org> |
| In-Reply-To: | <83d0gzlxgq.fsf@gnu.org> |
| X-Provags-ID: | V03:K1:2LCGWaAXezmk4++uX/NtSzHS6sjLgbTGAdkj7jIzYg+kP4G3QQC |
| NwcxDWq8ERItx4rDvL++PQBplj84QCBS3YgZ0aTY9tuyy9HY6IUP5oxE6Ht2SnTuv45F22a | |
| jqLD3jynPerOMfxY8Tgkw6Mk88qpj33Ki0dd/we0eBB1WgPOn1bUFyLKRG0xQXGAxGX6cAB | |
| GbY/Rt/wtZW63v5uUl2Wg== | |
| X-Spam-Flag: | NO |
| X-UI-Out-Filterresults: | notjunk:1;V03:K0:1JDV62GwHDs=:Hlrn5urio0+xEPWVtvnMad |
| BBuG2MbRl1J5TgI9OdgrV1R4GTI2/TKOMlcSJ6kBmIfe2J3hDHfsT/hwY8rw2teoT22cBYcsM | |
| sgPIOMnJLDZDHEmWo63VWWOh73f79yJtT4j5zszpuNwCXBkRG/RWT5jwvk/1ocv+G+Eqy2dPZ | |
| xJqfueAPIqy0Lpsxz5hMLUUObHPZ9erLuLzHRR2vGt3/9qrO9eYT/BrGY25ikEbEhSCX5gWJs | |
| hRpwpt0Stm874GvkSWU0sBNnC5Lz+VaFQuHRgM9LcVHFv0FEj63SxmocCdq+/vNK78HPM/hBh | |
| OZk6LDGyp8WxNl19ZgjWLuQNEIdiXYFlmac4MXKzCUjA7S4Tk4TUCu6oFSeHYMgEmVEpu0lWY | |
| 4qJQ025ZzGMPJJPxI9ECGO098+9H/deE7+PbFjf9gp9eVgTgtensAvX3S12nUhZZ0In5+Kb/c | |
| AGJgPneJGv53c34W6vIFdcqhrxeeojAqXs8AxyiPklPTTIwWF8p46pjkj327/R5HNTangRtbc | |
| 82gyDpOtoi4ukOmoKWj6xiHYappVYMpDXmW6aMYcu1nDxr0Kk01yXd8kNrFhn1NWiN+kRf2si | |
| L42VtHQvj96bxwf2ZlEsQkzovWzpIxmKo3oEMsO+FV/WDFXDGCIknBETVv6x/LX0R4wkvbMDI | |
| VgeectpuKP0wbaPB4o7zIKFzo+KAWtOmTWcZfpmjbpUeCWKtjcSNytYnHqHm/qZ2hm0Yqnzx3 | |
| k/DbYL/BmpA32VTjB2Bhpi+adhyRp+/zRfJnYBQmpN19yrgwkg+wLFVqQJS6cwKNNaWsVuRee | |
| doRpDbNrAzxCL1UPlB60c9ubRIR7p/KQNaDdNh/CUGDDs4wWlkv85e8B5MN73HPKaoJhpGe+T | |
| lr4FzfERELkEcK+vNTnmdaozjfBdwex9CGVJ3oaY/0YRwA3pA9xVPMx0q67viXyfwTOIeI2Np | |
| wDRF6CgMQrJlyNsDYHX0M2LHrR2sCr3O7Sa1VneCR8D5EDfMfX9dLpcQbA5lGx9od4OGtnyHB | |
| EatDdVPcVsR7kKmKkfurnRofNyUZlkZVkrg0lKyUlVlM6/WMMKdrWbonbEFP26MxQR7yHAXku | |
| YLynaOYCf9WDTlJxC0ivPxv0H5/3tGf0X4DRBgWVpN26BMFnhPDOD/O0AP6gMsIb816hIg8a/ | |
| CP0ZUgYFAmnYqS7vkoypM0EojU/YeJgXI/1OFkPVwBkLH5hA== | |
| Reply-To: | djgpp AT delorie DOT com |
Am 20.08.2019 16:31, schrieb Eli Zaretskii (eliz AT gnu DOT org) [via djgpp AT delorie DOT com]:
>> From: Rod Pemberton<invalid AT lkntrgzxc DOT com>
>> Date: Tue, 20 Aug 2019 05:43:54 -0400
>>
>> DOS and Windows are DJGPP's primary target environments. If the
>> DJGPP code works properly for DOS and Windows consoles, there is no need
>> to make it compatible with some other environment
>
> That is true, but OTOH there's no special need to refuse the change
> up front. If the change doesn't cause any trouble to the CWSDPMI
> based setup on DOS, and helps some other environment do something
> useful, why should we refuse to make simple changes? I see no reason.
I agree with this and thus it is time to bring this issue to an end.
The proposed changes do not break a CWSDPMI based DJGPP setup on DOS
thus I see no reason why the changes should not be accepted. If I do
not get a proof until tomorrow that the patch below breaks something
I will commit it. The patch has been out there for more than a week
and that was more than enough time for all realy interested parties
to evaluate/review it.
Regards,
Juan M. Guerrero
* djgpp/include/process.h: make descriptor leak work-around conditional.
Provided by Stas Sergeev (stsp2 AT yandex DOT ru).
See http://www.delorie.com/djgpp/mail-archives/browse.cgi?p=djgpp/2019/08/17/21:43:14
* djgpp/src/libc/dos/process/dosexec.c: make descriptor leak work-around conditional.
Provided by Stas Sergeev (stsp2 AT yandex DOT ru).
See http://www.delorie.com/djgpp/mail-archives/browse.cgi?p=djgpp/2019/08/17/21:43:14
diff -aprNU3 djgpp.orig/include/process.h djgpp/include/process.h
--- djgpp.orig/include/process.h 2015-05-02 07:31:46 +0000
+++ djgpp/include/process.h 2019-08-24 19:41:06 +0000
@@ -52,6 +52,10 @@ int __djgpp_spawn(int _mode, const char
#define SPAWN_EXTENSION_SRCH 1
#define SPAWN_NO_EXTENSION_SRCH 2
+#define __spawn_leak_workaround 0x0001 /* free descriptor leaks */
+
+extern int __spawn_flags;
+
#endif /* !_POSIX_SOURCE */
#endif /* !__STRICT_ANSI__ */
#endif /* !__dj_ENFORCE_ANSI_FREESTANDING */
diff -aprNU3 djgpp.orig/src/libc/dos/process/dosexec.c djgpp/src/libc/dos/process/dosexec.c
--- djgpp.orig/src/libc/dos/process/dosexec.c 2018-05-16 20:55:56 +0000
+++ djgpp/src/libc/dos/process/dosexec.c 2019-08-24 19:41:06 +0000
@@ -45,6 +45,7 @@
extern char **_environ;
int __dosexec_in_system = 0;
+int __spawn_flags = __spawn_leak_workaround;
typedef struct {
unsigned short eseg;
@@ -492,7 +493,8 @@ static int direct_exec_tail (const char
/* r5 as corresponding DPMI call is supported beginning with v5. */
ret = __dpmi_get_capabilities(&flags, dpmi_vendor);
- if (ret == 0 && strcmp(dpmi_vendor + 2, "CWSDPMI") == 0)
+ if ((ret == 0 && strcmp(dpmi_vendor + 2, "CWSDPMI") == 0)
+ || (__spawn_flags & __spawn_leak_workaround) == 0)
workaround_descriptor_leaks = 0;
else
{
| webmaster | delorie software privacy |
| Copyright © 2019 by DJ Delorie | Updated Jul 2019 |