delorie.com/archives/browse.cgi   search  
Mail Archives: cygwin/2025/12/28/14:53:39

DMARC-Filter: OpenDMARC Filter v1.4.2 delorie.com 5BSJrcvA3031149
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 5BSJrcvA3031149
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=NGlSN3DL
X-Recipient: archive-cygwin AT delorie DOT com
DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org 81CFB4BAD162
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=cygwin.com;
s=default; t=1766951617;
bh=Kk2AL134I4OOFZBdUiV3+AJTgsnzn/4QT6/PxbKBC2g=;
h=References:In-Reply-To:Date:Subject:To:List-Id:List-Unsubscribe:
List-Archive:List-Post:List-Help:List-Subscribe:From:Reply-To:
From;
b=NGlSN3DLaTwGmACER2O6br9xk5THS5pqHc1plcuM3sjfl7fJrbg+ZTRHO6SDauqIW
Kcw3p+EgSbVCc09Y1Czv6EimmVLabdK76x48FPiFnORO9jKvzDxbaCR7cG6i/71zSJ
nHwz8ile97mgYkHAFiJIhZ+E6wyecElGmopT3YYw=
X-Original-To: cygwin AT cygwin DOT com
Delivered-To: cygwin AT cygwin DOT com
DMARC-Filter: OpenDMARC Filter v1.4.2 sourceware.org DB6284BAE7D2
ARC-Filter: OpenARC Filter v1.0.0 sourceware.org DB6284BAE7D2
ARC-Seal: i=1; a=rsa-sha256; d=sourceware.org; s=key; t=1766951569; cv=none;
b=fW44oWb/nWYMIvNasG7Z60OLtFEl5Azzfrs60RIfdwQ0SE+Taq3w0jyLagnWBp3hzzgDRsGE2/6JPNvDwtspPHPMO4nEL5nW2XUfao1nhoCNC2j/uzj+zdmUUEYYvlyPG8KvVMM/6i7Ge8XXh1lqgF42EDLce6nnn3tyWURJPjg=
ARC-Message-Signature: i=1; a=rsa-sha256; d=sourceware.org; s=key;
t=1766951569; c=relaxed/simple;
bh=+VbbxbBdF153mqJ4Y/UgjbVyGIXPsWigahoa0oEN880=;
h=DKIM-Signature:MIME-Version:From:Date:Message-ID:Subject:To;
b=dDAPr8fuAyPx41qFHedT04pHObF1MlJgCyJNHG19nf5nubwh25nwz/MONlSuJbfzzllyDPanY70A+AeCN9zql9ERnHPxSnGjzeL13BFAJEwA0QMRULkXeInR+zr9VG9FwHTrHl+BtN5/5rI17Ifp6iRxNMA603b1H2QTHn+ahUY=
ARC-Authentication-Results: i=1; server2.sourceware.org
DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org DB6284BAE7D2
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
d=1e100.net; s=20230601; t=1766951568; x=1767556368;
h=cc:to:subject:message-id:date:from:in-reply-to:references
:mime-version:x-gm-gg:x-gm-message-state:from:to:cc:subject:date
:message-id:reply-to;
bh=+VbbxbBdF153mqJ4Y/UgjbVyGIXPsWigahoa0oEN880=;
b=khOsgPKwIz4Rjo9MX2YcS59n5OFriAUMZKx7/DBiSDNQySLaFxJZUTeBMc3Rbr17C5
CNSm4c7Y6lzwb9n8zJwZ8Nja5vX0HWlCS4GXbhQprQM/Li2UK5EkN5KRglzf4L+CSZCE
X+PRtL7fDt/jv9o2OnYh5skJBc9hfJQirqcoSg0jcumRCqsGeQrNKe7fc1K7IpE9E5CA
k5iWIaeiqcV32ULofrQRzz/jDtPF4BCVfzeI00sBuKy3x/CmS/Tc2OnL2DabWyVnAFmC
7ysxeD1x35lVbDYsr5S0TCLBgxFm/bTMyotPZgfl2KZ8B2iC8Ptzhq+ZKxCWjiMVk1bv
BioA==
X-Forwarded-Encrypted: i=1;
AJvYcCX/vb2BEpOd7283xsrc9CChwi5NntmARCGKvfvGh7/146mxE3ltNmhMgpc67yZQ4CdLh2rFknU=@cygwin.com
X-Gm-Message-State: AOJu0Ywpj7aco2dM2IUtRG+UgX4HooCaLR9hzteoO8IYdKvkmtmTONvp
InC4mC8oaISWdblFq4dq/q98baPMg0DOsMQMJ7j421rpM44XpSQXlyV4ecQYPt9uRBF52+RhdWu
HaT7lk+X3gO1RvuA6Z112ept7WUJHhw==
X-Gm-Gg: AY/fxX4bQrTIZDK9jmoXjfN0CEAg1Qt9oqHJ+7FU6oDr03Wd+MB6QfvYIPKfky+mLrF
WiyaH8tvKntJyD9AX4umTdVCtypawWDxpN6zX5m0PxzhCcwAQyn6+gktfKEyAsbI7RLV9tDyiPO
DtlQ0h1FEeFqHMJNuKCGbCL4L/UwTbXGWv29MDkRD9UXF/mpUKtdpPfVh6wK3kJcqc/Yud/4GBh
TMfPsN5j9Hix5OiPZ9ZtSzN7hwvlhNNKmaqEc0cbm4jc7i9oWNcf8qFnntdMxGEzU/aimPnEAtA
XQxW+yAg1IsoI+n0my+nY5Vh0uLZoNN3vNCc
X-Google-Smtp-Source: AGHT+IFCx2B7rpDOsZ+ioP+OfDGaborDKc5lRlseLCqejurLK0c+xJBGbZVTuWn0FEZ2hmlUKFup2pDO96/iliIk6Os=
X-Received: by 2002:a05:690e:11c2:b0:640:fbf3:5f9a with SMTP id
956f58d0204a3-6466a8ba485mr20162200d50.5.1766951568076; Sun, 28 Dec 2025
11:52:48 -0800 (PST)
MIME-Version: 1.0
References: <CA+1R0Vg7b7YyvgDf1=or8oxskEX4BJwMJQxxTKYaUHWPQeD9iQ AT mail DOT gmail DOT com>
In-Reply-To: <CA+1R0Vg7b7YyvgDf1=or8oxskEX4BJwMJQxxTKYaUHWPQeD9iQ@mail.gmail.com>
Date: Sun, 28 Dec 2025 11:52:36 -0800
X-Gm-Features: AQt7F2qt5ubFa4zvfMsTzLAIiszbhOgPxTYQe1UU3KzP-1w_GLxOqke8vJpii-s
Message-ID: <CA+1R0Vju3VQYaz-s00vCroEV3pH7vBeUhoMGqtUxi0x5k56vpQ@mail.gmail.com>
Subject: Re: flock deadlock
To: Takashi Yano <takashi DOT yano AT nifty DOT ne DOT jp>, cygwin AT cygwin DOT com
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-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: Nahor via Cygwin <cygwin AT cygwin DOT com>
Reply-To: Nahor <nahor.j+cygwin AT gmail DOT com>
Sender: "Cygwin" <cygwin-bounces~archive-cygwin=delorie DOT com AT cygwin DOT com>

--0000000000008d25320647087858
Content-Type: text/plain; charset="UTF-8"

Attached is a reproducible example.
The example just calls `fork()` then open/flock/close a directory and
repeats (fork/open/flock/close). The forks optionally sleep then
open/flock/close the same directory and exit.

There is no issue if either the parent or the children don't call `flock()`.
Without sleeping, the example deadlocks immediately on my system 100%
of the time. Killing the child allow the parent to proceed, fork the
next child, which triggers the next deadlock.
When sleeping, _sometimes_ one child will deadlock with the parent.
Killing that child allows the parent and remaining children to proceed
(and potentially trigger another deadlock). Killing the parent also
unblocks all the children.

Regards,
Nahor.

--0000000000008d25320647087858
Content-Type: text/plain; charset="US-ASCII"; name="main.c"
Content-Disposition: attachment; filename="main.c"
Content-Transfer-Encoding: base64
Content-ID: <f_mjq4paap0>
X-Attachment-Id: f_mjq4paap0

Ly8gI2RlZmluZSBTTEVFUAoKI2luY2x1ZGUgPHN0ZGxpYi5oPgoKI2luY2x1ZGUgPGFzc2VydC5o
PgojaW5jbHVkZSA8ZXJybm8uaD4KI2luY2x1ZGUgPHN0ZGlvLmg+CiNpbmNsdWRlIDxzdHJpbmcu
aD4KI2luY2x1ZGUgPHN5cy9maWxlLmg+CiNpbmNsdWRlIDxzeXMvd2FpdC5oPgojaW5jbHVkZSA8
dGltZS5oPgojaW5jbHVkZSA8dW5pc3RkLmg+Cgpjb25zdCBpbnQgRk9SS19DT1VOVCA9IDEwOwoK
dHlwZWRlZiBzdHJ1Y3QgewogIGludCBpZDsKfSBjYWxsX2FyZ3M7CgpzdGF0aWMgdm9pZCAqZmxv
Y2tfY2FsbCh2b2lkICphcmcpIHsKICBjYWxsX2FyZ3MgKmFyZ3MgPSAoY2FsbF9hcmdzICopYXJn
OwoKI2lmZGVmIFNMRUVQCiAgaWYgKGFyZ3MtPmlkICE9IC0xKSB7CiAgICBzdHJ1Y3QgdGltZXNw
ZWMgZHVyYXRpb247CiAgICBkdXJhdGlvbi50dl9zZWMgPSAwOwogICAgZHVyYXRpb24udHZfbnNl
YyA9IDE7CiAgICBuYW5vc2xlZXAoJmR1cmF0aW9uLCBOVUxMKTsKICB9CiNlbmRpZgoKICAvLyBv
cGVuIGFuZCBsb2NrIGRpcgogIGludCBkaXJfZmQgPSBvcGVuKCIvY3lnZHJpdmUvYy9jeWd3aW42
NC9ldGMiLCBPX1JET05MWSwgMCk7CiAgaWYgKGRpcl9mZCA8IDApIHsKICAgIHByaW50Zigib3Bl
biBkaXIgZXJyb3I6ICVkIC0gJXNcbiIsIGVycm5vLCBzdHJlcnJvcihlcnJubykpOwogIH0KICBh
c3NlcnQoZGlyX2ZkID49IDApOwoKICAvLyBsb2NrCiAgaW50IGxvY2tfcmVzID0gZmxvY2soZGly
X2ZkLCBMT0NLX1NIKTsKICBpZiAobG9ja19yZXMgIT0gMCkgewogICAgcHJpbnRmKCJsb2NrIGVy
cm9yOiAlZCAtICVzXG4iLCBlcnJubywgc3RyZXJyb3IoZXJybm8pKTsKICB9CiAgYXNzZXJ0KGxv
Y2tfcmVzID09IDApOwoKICAvLyBjbG9zZQogIGFzc2VydChjbG9zZShkaXJfZmQpID09IDApOwoK
ICBwcmludGYoImRvbmVbJWldXG4iLCBhcmdzLT5pZCk7CiAgcmV0dXJuIE5VTEw7Cn0KCmludCBt
YWluKCkgewogIGNhbGxfYXJncyBtYWluX2FyZ3M7CiAgbWFpbl9hcmdzLmlkID0gLTE7CgogIC8v
IHNwYXduIGNoaWxkcmVuCiAgcGlkX3QgY2hpbGRyZW5bRk9SS19DT1VOVF07CiAgZm9yIChpbnQg
aSA9IDA7IGkgPCBGT1JLX0NPVU5UOyArK2kpIHsKICAgIGNhbGxfYXJncyBhcmdzOwogICAgYXJn
cy5pZCA9IGk7CgogICAgY2hpbGRyZW5baV0gPSBmb3JrKCk7CiAgICBpZiAoY2hpbGRyZW5baV0g
PT0gLTEpIHsKICAgICAgcGVycm9yKCJmb3JrIik7CiAgICAgIGV4aXQoRVhJVF9GQUlMVVJFKTsK
ICAgIH0KICAgIGlmIChjaGlsZHJlbltpXSA9PSAwKSB7CiAgICAgIGZsb2NrX2NhbGwoJmFyZ3Mp
OwogICAgICByZXR1cm4gMDsKICAgIH0KICAgIGZsb2NrX2NhbGwoJm1haW5fYXJncyk7CiAgfQoK
ICAvLyB3YWl0IGNoaWxkcmVuCiAgZm9yIChpbnQgaSA9IDA7IGkgPCBGT1JLX0NPVU5UOyArK2kp
IHsKICAgIGludCB3c3RhdHVzOwogICAgcGlkX3QgdzsKICAgIGRvIHsKICAgICAgdyA9IHdhaXRw
aWQoY2hpbGRyZW5baV0sICZ3c3RhdHVzLCBXVU5UUkFDRUQgfCBXQ09OVElOVUVEKTsKICAgICAg
aWYgKHcgPT0gLTEpIHsKICAgICAgICBwZXJyb3IoIndhaXRwaWQiKTsKICAgICAgICBleGl0KEVY
SVRfRkFJTFVSRSk7CiAgICAgIH0KICAgIH0gd2hpbGUgKCFXSUZFWElURUQod3N0YXR1cykgJiYg
IVdJRlNJR05BTEVEKHdzdGF0dXMpKTsKICB9CgogIHByaW50ZigiZG9uZVttYWluXVxuIik7CiAg
cmV0dXJuIDA7Cn0K
--0000000000008d25320647087858
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

--0000000000008d25320647087858--

- Raw text -


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