apenwarr-redo/t/stamp
Avery Pennarun 1d26d99e0c Fix a deadlock with redo-oob.
If a checksummed target A used to exist but is now missing, and we tried to
redo-ifchange that exact file, we would unnecessarily run 'redo-oob A A';
that is, we have to build A in order to determine if A needs to be built.

The sub-targets of redo-oob aren't run with REDO_UNLOCKED, so this would
deadlock instantly.

Add an assertion to redo-oob to ensure we never try to redo-ifchange the
primary target (thus converting the deadlock into an exception).  And skip
doing redo-oob when the target is already the same as the thing we have to
check.
2010-12-11 06:16:32 -08:00
..
.gitignore If a checksummed file is deleted, we should still use redo-oob. 2010-12-11 05:54:39 -08:00
bob.do Correctly handle a checksummed file that depends on a non-checksummed file. 2010-12-11 05:54:39 -08:00
clean.do If a checksummed file is deleted, we should still use redo-oob. 2010-12-11 05:54:39 -08:00
stamptest.do Fix a deadlock with redo-oob. 2010-12-11 06:16:32 -08:00
stampy.do Correctly handle a checksummed file that depends on a non-checksummed file. 2010-12-11 05:54:39 -08:00
test.do Half-support for using file checksums instead of stamps. 2010-12-11 05:54:37 -08:00
usestamp.do Half-support for using file checksums instead of stamps. 2010-12-11 05:54:37 -08:00
usestamp2.do If a checksummed file is deleted, we should still use redo-oob. 2010-12-11 05:54:39 -08:00