www.delorie.com/archives/browse.cgi   search  
Mail Archives: cygwin/2025/06/17/18:42:51

DMARC-Filter: OpenDMARC Filter v1.4.2 delorie.com 55HMgoDI684563
Authentication-Results: delorie.com; dmarc=pass (p=none dis=none) header.from=cygwin.com
Authentication-Results: delorie.com; spf=pass smtp.mailfrom=cygwin.com
DKIM-Filter: OpenDKIM Filter v2.11.0 delorie.com 55HMgoDI684563
Authentication-Results: delorie.com;
dkim=pass (1024-bit key, unprotected) header.d=cygwin.com header.i=@cygwin.com header.a=rsa-sha256 header.s=default header.b=Vor530fV
X-Recipient: archive-cygwin AT delorie DOT com
DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org 56908386B880
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=cygwin.com;
s=default; t=1750200168;
bh=9R+uStGE+3wDtb+Zqps+tgRIg+qdhNVaLZVK6Qb66nQ=;
h=Date:Subject:To:References:In-Reply-To:List-Id:List-Unsubscribe:
List-Archive:List-Post:List-Help:List-Subscribe:From:Reply-To:
From;
b=Vor530fV3k2XDqIV0eIfqP7F0AWsguMsaKd5LEUTwv2+kyrJ3hKnPB+e/227SbMiE
IjIigAOjfEV3Rw0LMNjdtcqHufM1jrhrcqfFTFC5U4Ph/NDLZ3CFM2N9sfIIPfCzd8
AOWBLkgEMkKAZ5N30ioR/ZgEZuHTRxDFTsr2ykmM=
X-Original-To: cygwin AT cygwin DOT com
Delivered-To: cygwin AT cygwin DOT com
DMARC-Filter: OpenDMARC Filter v1.4.2 sourceware.org A4300385F01F
ARC-Filter: OpenARC Filter v1.0.0 sourceware.org A4300385F01F
ARC-Seal: i=1; a=rsa-sha256; d=sourceware.org; s=key; t=1750200135; cv=none;
b=MS3PzdCcif3htjq013SfmTtTXYsobGuC2YwgtbJso6VcPtBZy6kpZzv7rDdQ9L4zytSwkeZyH6QY5KPrcjd7U1cCgyv5UmEjt/PAgJGrZP7sVq1EW8it3DBbKytROMS3ZHOMjphrpempnM6tY5i0wM758nOyKUWdQcBq+n4TiUM=
ARC-Message-Signature: i=1; a=rsa-sha256; d=sourceware.org; s=key;
t=1750200135; c=relaxed/simple;
bh=aSsMXNjgUuqGtIBLVUsciLTp9lrAqOJOU4E2duAHHzQ=;
h=Message-ID:Date:MIME-Version:Subject:To:From;
b=UNIDvqEu4gUzqeuaKxxILgk3H0fUv5QqdC6Mu+nXOV2C9JYNMI+eRNhFapC5XaCQe/OC4DdfbMvqUAuRK4d/j0NfkaQhrltI2gyq4rsFrVYWtsO/W+2w6DJBDOX3xtU2BQj6/owyhic501hWjC8pDQbTpED/jd4jRv9Ru0TGLtk=
ARC-Authentication-Results: i=1; server2.sourceware.org
DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org A4300385F01F
Message-ID: <eb7786ee-dc7a-4689-9d17-b842e581d7c7@maxrnd.com>
Date: Tue, 17 Jun 2025 15:42:26 -0700
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: Calling system() in multi-threads.
To: cygwin AT cygwin DOT com
References: <20250617215411 DOT ebf69d1c18b55191a1b76c01 AT nifty DOT ne DOT jp>
In-Reply-To: <20250617215411.ebf69d1c18b55191a1b76c01@nifty.ne.jp>
X-BeenThere: cygwin AT cygwin DOT com
X-Mailman-Version: 2.1.30
List-Id: General Cygwin discussions and problem reports <cygwin.cygwin.com>
List-Unsubscribe: <https://cygwin.com/mailman/options/cygwin>,
<mailto:cygwin-request AT cygwin DOT com?subject=unsubscribe>
List-Archive: <https://cygwin.com/pipermail/cygwin/>
List-Post: <mailto:cygwin AT cygwin DOT com>
List-Help: <mailto:cygwin-request AT cygwin DOT com?subject=help>
List-Subscribe: <https://cygwin.com/mailman/listinfo/cygwin>,
<mailto:cygwin-request AT cygwin DOT com?subject=subscribe>
From: Mark Geisert via Cygwin <cygwin AT cygwin DOT com>
Reply-To: Mark Geisert <mark AT maxrnd DOT com>
Errors-To: cygwin-bounces~archive-cygwin=delorie DOT com AT cygwin DOT com
Sender: "Cygwin" <cygwin-bounces~archive-cygwin=delorie DOT com AT cygwin DOT com>

This is a multi-part message in MIME format.
--------------tNy2LG7mIwb5hV8xM91Pvhbc
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 7bit

Hi Takashi,

On 6/17/2025 5:54 AM, Takashi Yano via Cygwin wrote:
> Hi,
> 
> If system() is called in parallel in threads, system()
> fails with exit code 127.
> 
> Just compile pthread_system.c attached and run.
> 
> I believe system() is multi-thread safe so the STC
> should work.

I regret to inform that system() is not currently MT-safe.  I discovered 
this a few years ago when porting YAFU (Yet Another Factoring Utility).

I ended up supplying a wrapper that serialized the system() call itself 
but allowed multiple wrappers (and thus child processes) to be running 
at the same time.  I never got around to supplying a fix for Cygwin. 
I've attached the code.
HTH somehow,

..mark

--------------tNy2LG7mIwb5hV8xM91Pvhbc
Content-Type: text/plain; charset=UTF-8; name="safe_system.c"
Content-Disposition: attachment; filename="safe_system.c"
Content-Transfer-Encoding: base64

LyoKICogc2FmZV9zeXN0ZW0uYwogKiBUaHJlYWQtc2FmZSB2ZXJzaW9uIG9mIHN5c3RlbSgp
IGZvciBwbGF0Zm9ybXMgbmVlZGluZyBpdCwgbGlrZSBDeWd3aW4uCiAqCiAqIENvcHlyaWdo
dCDCqSAyMDE4IE1hcmsgQS4gR2Vpc2VydC4gIFBsYWNlZCBpbiBwdWJsaWMgZG9tYWluLgog
KgogKiBQT1NJWCBzdGF0ZXMgdGhhdCBzeXN0ZW0oKSBuZWVkIG5vdCBiZSB0aHJlYWQtc2Fm
ZS4gIE9uIEN5Z3dpbiBpdCBpc24ndC4KICogUE9TSVggYWxzbyBzdGF0ZXMgdGhhdCBzeXN0
ZW0oKSBjYW5ub3QgcmV0dXJuIHRvIGl0cyBjYWxsZXIgdW50aWwgdGhlCiAqIHRhc2sgaXQg
aGFzIHNwYXduZWQgaGFzIGNvbXBsZXRlZC4KICoKICogSWYgYSBDeWd3aW4gcHJvY2VzcyB1
c2VzIHN5c3RlbSgpIHNpbXVsdGFuZW91c2x5IGZyb20gbXVsdGlwbGUgcHRocmVhZHMsCiAq
IHRoZSBDeWd3aW4gRExMIHJlcG9ydHMgaW50ZXJuYWwgZXJyb3JzIGFuZCBvZnRlbiBoYW5n
cyB0aGUgcHJvY2Vzcy4gIFRoaXMKICogaXMgZWFzaWx5IHdvcmtlZCBhcm91bmQgYnkgd3Jh
cHBpbmcgc3lzdGVtKCkgY2FsbHMgaW4gYSBjcml0aWNhbCBzZWN0aW9uLgogKiBIb3dldmVy
LCBkb2luZyB0aGlzIGhhcyB0aGUgZWZmZWN0IG9mIHJ1bm5pbmcgdGhlIChwb3RlbnRpYWxs
eSBsb25nCiAqIGR1cmF0aW9uKSB0YXNrIHNwYXduZWQgYnkgc3lzdGVtKCkgd2hpbGUgaG9s
ZGluZyB0aGUgY3JpdGljYWwgc2VjdGlvbiB0aGUKICogZW50aXJlIHRpbWUuICBUaGlzIGJl
aGF2aW9yIGVuZHMgdXAgc2VyaWFsaXppbmcgdGhlIHB0aHJlYWRzIHRoYXQgdXNlCiAqIHN5
c3RlbSgpIGFuZCB0aGUgYmVuZWZpdHMgb2YgcGFyYWxsZWxpemF0aW9uIGFyZSBsb3N0Lgog
KgogKiBBZnRlciBpbnZlc3RpZ2F0aW9uIG9mIHZhcmlvdXMgYXBwcm9hY2hlcywgd2hhdCBp
cyBkb25lIGhlcmUgaXMgdG8gbGF1bmNoCiAqIHRoZSBzcGF3bmVkIHRhc2sgYXMgYSBiYWNr
Z3JvdW5kIHRhc2ssIG9idGFpbiBpdHMgcGlkLCBhbmQgd2FpdCBmb3IgdGhhdAogKiBwaWQg
dG8gYmVjb21lIGludmFsaWQgKHdoaWNoIGluZGljYXRlcyB0aGUgdGFzayBoYXMgY29tcGxl
dGVkIG9yIGFib3J0ZWQpLgogKgogKiBVbmZvcnR1bmF0ZWx5LCBQbGFuIEE6IHdhaXRpbmcg
Zm9yIHRoZSB0YXNrIHdpdGggdGhlIHVzdWFsIHdhaXRwaWQoKSBvcgogKiB3YWl0KCkgY2Fu
bm90IGJlIGRvbmUgYmVjYXVzZSB0aGUgdGFzayBvZiBpbnRlcmVzdCBpcyBub3QgYSBkaXJl
Y3QgY2hpbGQKICogb2YgdGhlIHJ1bm5pbmcgcHJvY2Vzcy4gIFRoZXJlIGlzIGEgc2hlbGwg
cHJvY2VzcyBpbnRlcnBvc2VkLCBhcyByZXF1aXJlZAogKiBieSBQT1NJWCBmb3Igc3lzdGVt
KCkgdXNhZ2UuCiAqCiAqIEltcGxlbWVudGVkIGhlcmUgaXMgUGxhbiBDOiBhIFdpbmRvd3Mg
aGFuZGxlIHRvIHRoZSBzcGF3bmVkIHRhc2svcHJvY2VzcwogKiAobm90IHRoZSBzaGVsbCkg
aXMgd2FpdGVkIHVwb24uICBPbiBwbGF0Zm9ybXMgb3RoZXIgdGhhbiBXaW5kb3dzIG9yIEN5
Z3dpbiwKICogUGxhbiBCIGRlc2NyaWJlZCBiZWxvdyBtaWdodCBiZSB3b3JrYWJsZS4KICov
CgojaWYgZGVmaW5lZChfX0NZR1dJTl9fKQoKI2luY2x1ZGUgPGRsZmNuLmg+CiNpbmNsdWRl
IDxzaWduYWwuaD4KI2luY2x1ZGUgPHN0ZGlvLmg+CiNpbmNsdWRlIDxzdGRsaWIuaD4KI2lu
Y2x1ZGUgPHVuaXN0ZC5oPgojaW5jbHVkZSA8c3lzL2N5Z3dpbi5oPgojZGVmaW5lIFdJTjMy
X0xFQU5fQU5EX01FQU4KI2luY2x1ZGUgPHdpbmRvd3MuaD4KCi8vWFhYOiBDT0RFIFdSSVRU
RU4gQU5EIFRFU1RFRCBPTiB4ODZfNjQgQU5EIEhBUyBOT1QgQkVFTiBURVNURUQgT04geDg2
Cgp2b2xhdGlsZSBpbnQgaW5pdGlhbGl6aW5nOyAgIC8vIDA6IG5vdCB5ZXQsIDE6IGluIHBy
b2dyZXNzLCAyOiBpbml0aWFsaXplZApDUklUSUNBTF9TRUNUSU9OIHN5c3RlbWNyaXQ7IC8v
IGNyaXRpY2FsIHNlY3Rpb24gdG8gc2VyaWFsaXplIHN5c3RlbSgpIHVzZQp2b2xhdGlsZSBp
bnQgdXNlY291bnQ7ICAgICAgIC8vIHNvbWV0aGluZyB0byBrZWVwIHRyYWNraW5nIHBpZGZp
bGVzIHNlcGFyYXRlZAoKaW50CnNhZmVfc3lzdGVtKGNvbnN0IGNoYXIgKmNtZCkKewogICAg
Ly8gSW5pdGlhbGl6ZSBpbiB0aHJlYWQtc2FmZSBtYW5uZXIKICAgIGlmICgwID09IEludGVy
bG9ja2VkQ29tcGFyZUV4Y2hhbmdlKCZpbml0aWFsaXppbmcsIDEsIDApKSB7CglJbml0aWFs
aXplQ3JpdGljYWxTZWN0aW9uKCZzeXN0ZW1jcml0KTsKCWluaXRpYWxpemluZysrOwogICAg
fQogICAgZWxzZSB3aGlsZSAoMSA9PSBpbml0aWFsaXppbmcpIHsKCXVzbGVlcCgxMDAwMCk7
IC8vIDEwbXMKICAgIH0KCiAgICAvLyBBbGxvY2F0ZSBzcGFjZSBmb3IgbmFtZSBvZiBwaWRm
aWxlCiAgICBjaGFyICpwaWRmaWxlbmFtZSA9IGFsbG9jYSg2NCk7CgogICAgLy8gQWxsb2Nh
dGUgc3BhY2UgZm9yIGNvbW1hbmQgYnVmIGluY2x1ZGluZyBnbHVlIGZvciB0aGUgdHJhY2tp
bmcgcGlkZmlsZQogICAgY2hhciAqYnVmID0gYWxsb2NhKHN0cmxlbihjbWQpICsgMTI4KTsK
CiAgICAvLyBXcmFwIHN5c3RlbSgpIGNhbGwgaW4gYSBjcml0aWNhbCBzZWN0aW9uIGFzIGl0
J3Mgbm90IHRocmVhZC1zYWZlCiAgICBFbnRlckNyaXRpY2FsU2VjdGlvbigmc3lzdGVtY3Jp
dCk7CgogICAgLy8gU2V0IHVwIHRoZSBjb21wbGV0ZSBhdWdtZW50ZWQgY29tbWFuZCBzdHJp
bmcKICAgIHNwcmludGYocGlkZmlsZW5hbWUsICJfeWFmdV9zeXN0ZW1fLiVkIiwgdXNlY291
bnQrKyk7CiAgICBjaGFyICpwdHIgPSBzdHBjcHkoYnVmLCBjbWQpOwogICAgLy8gVGhlICcm
JyBwdXRzIHRhc2sgaW4gYmFja2dyb3VuZDsgdGhhdCB0YXNrJ3MgcGlkIGlzIGNhcHR1cmVk
IGluIHBpZGZpbGUKICAgIHNwcmludGYocHRyLCAiICYgZWNobyAtbiAkISA+ICVzIiwgcGlk
ZmlsZW5hbWUpOwoKICAgIC8vIENhbGwgQ3lnd2luJ3Mgc3lzdGVtKCkgd2l0aCBhdWdtZW50
ZWQgY29tbWFuZCBzdHJpbmcKI2lmIDEKICAgIGZwcmludGYoc3RkZXJyLCAiKlNZU1RFTSog
Pj4lczw8XG4iLCBidWYpOwojZW5kaWYKICAgIGludCByZXQgPSBzeXN0ZW0oYnVmKTsKICAg
IExlYXZlQ3JpdGljYWxTZWN0aW9uKCZzeXN0ZW1jcml0KTsKCiAgICAvLyBPcGVuIHBpZGZp
bGUgaWRlbnRpZnlpbmcgc3Bhd25lZCB0YXNrIHRoZW4gcmVhZCBpdCwgY2xvc2UgaXQsIGRl
bGV0ZSBpdAogICAgRklMRSAqZiA9IGZvcGVuKHBpZGZpbGVuYW1lLCAiciIpOwogICAgaWYg
KCFmKQoJcmV0dXJuIC0xOyAvLyBiYWlsIGlmIHVuYWJsZSB0byBvcGVuIHBpZGZpbGUKICAg
IGZyZWFkKGJ1ZiwgMSwgODAsIGYpOwogICAgZmNsb3NlKGYpOwogICAgcmVtb3ZlKHBpZGZp
bGVuYW1lKTsKICAgIHBpZF90IHBpZCA9IGF0b2koYnVmKTsKCiAgICAvLyBQbGFuIEE6IHdh
aXQoKSBmb3Igc3Bhd25lZCB0YXNrLiBEb2Vzbid0IHdvcmsgYXMgdGFzayBpcyBub3QgYSBj
aGlsZC4KICAgIC8vIFBsYW4gQjogdXNlIGtpbGwocGlkLCAwKSB0byB0ZXN0IHBpZCBmb3Ig
dmFsaWRpdHkuIFdvcmtzLCBidXQgdWdseS4KICAgIC8vIFBsYW4gQzogKFdpbmRvd3Mgb25s
eSkgb3BlbiBhIGhhbmRsZSB0byB0YXNrIGFuZCBzeW5jIG9uIGl0LiBQZXJmZWN0LgogICAg
RFdPUkQgd2lucGlkID0gY3lnd2luX2ludGVybmFsKENXX0NZR1dJTl9QSURfVE9fV0lOUElE
LCBwaWQpOwogICAgSEFORExFIGggPSBPcGVuUHJvY2VzcyhTWU5DSFJPTklaRSwgRkFMU0Us
IHdpbnBpZCk7CiAgICBpZiAoaCA9PSBJTlZBTElEX0hBTkRMRV9WQUxVRSkKCXJldHVybiAt
MTsgLy8gYmFpbCBpZiB1bmFibGUgdG8gb3BlbiBzcGF3bmVkIHRhc2svcHJvY2VzcwogICAg
V2FpdEZvclNpbmdsZU9iamVjdChoLCBJTkZJTklURSk7CiAgICBDbG9zZUhhbmRsZShoKTsK
CiAgICByZXR1cm4gcmV0Owp9CgojZWxzZQoKaW50CnNhZmVfc3lzdGVtKGNvbnN0IGNoYXIg
KmNtZCkKewogICAgcmV0dXJuIHN5c3RlbShjbWQpOwp9CgojZW5kaWYK

--------------tNy2LG7mIwb5hV8xM91Pvhbc
Content-Type: text/plain; charset="us-ascii"
MIME-Version: 1.0
Content-Transfer-Encoding: 7bit
Content-Disposition: inline


-- 
Problem reports:      https://cygwin.com/problems.html
FAQ:                  https://cygwin.com/faq/
Documentation:        https://cygwin.com/docs.html
Unsubscribe info:     https://cygwin.com/ml/#unsubscribe-simple

--------------tNy2LG7mIwb5hV8xM91Pvhbc--

- Raw text -


  webmaster     delorie software   privacy  
  Copyright © 2019   by DJ Delorie     Updated Jul 2019