public inbox for goredo-devel@lists.stargrave.org
Atom feed
* Self-cycle not detected in goredo
@ 2026-01-24 13:21 Niklas Böhm
  2026-01-25 10:37 ` Sergey Matveev
  0 siblings, 1 reply; 2+ messages in thread
From: Niklas Böhm @ 2026-01-24 13:21 UTC (permalink / raw)
  To: goredo-devel

Hi everyone,

this is something small that I accidentally come across from 
time-to-time.  If you have a do file that `redo-ifchange`s itself, then 
the execution would simply stall.  I think it would be a nice and small 
improvement if it would instead produce an error, since that is a cycle 
in the dependency graph.

Let me know what you think!

Best
Niklas

PS: small, trivial example:

file "test.do"
```
redo-ifchange test
echo hi
```

`redo-ifchange test` will not return.

^ permalink raw reply	[flat|nested] 2+ messages in thread

* Re: Self-cycle not detected in goredo
  2026-01-24 13:21 Self-cycle not detected in goredo Niklas Böhm
@ 2026-01-25 10:37 ` Sergey Matveev
  0 siblings, 0 replies; 2+ messages in thread
From: Sergey Matveev @ 2026-01-25 10:37 UTC (permalink / raw)
  To: goredo-devel

[-- Attachment #1: Type: text/plain, Size: 794 bytes --]

Greetings!

*** Niklas Böhm [2026-01-24 14:21]:
>this is something small that I accidentally come across from time-to-time.
>If you have a do file that `redo-ifchange`s itself, then the execution would
>simply stall.

Yes, it try to take a lock on .redo/tgt.lock file, which is already
locked at the very beginning of running tgt. Deadlock occurs.

>I think it would be a nice and small improvement if it would
>instead produce an error, since that is a cycle in the dependency graph.

Currently I do not know how to detect those deadlocks by not
implementing the deadlock-detection algorithm and track all
locks. All of that is definitely not a small improvement.

-- 
Sergey Matveev (http://www.stargrave.org/)
LibrePGP: 12AD 3268 9C66 0D42 6967  FD75 CB82 0563 2107 AD8A

[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 265 bytes --]

^ permalink raw reply	[flat|nested] 2+ messages in thread

end of thread, other threads:[~2026-01-25 10:37 UTC | newest]

Thread overview: 2+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2026-01-24 13:21 Self-cycle not detected in goredo Niklas Böhm
2026-01-25 10:37 ` Sergey Matveev