summary refs log tree commit diff
Commit message (Collapse)AuthorAgeFilesLines
* use blocking/nonblocking reads instead of poll(2) v0.2Leah Neukirchen2020-06-261-10/+5
| | | | | | | | | | | | | | | Previously, we used a blocking fd for the token pipe and used poll(2) to see if anything could be read right now in try_procure(). However, there is a race between poll(2) and the subsequent blocking read(2), which can result in processes deadlocking when multiple instances of redo poll at the same time. Instead, we now make the fd nonblocking when needed, so that the read either reads or returns immediately if there is nothing to read. Closes #3. Closes: #4 [via git-merge-pr]
* added empty targetChristian Kögler2020-05-171-2/+1
| | | | Closes: #2 [via git-merge-pr]
* compute proper relative paths when default.do is run from a directory above v0.1Leah Neukirchen2018-07-081-2/+26
|
* document $1, $2, $3 for subdirectoriesLeah Neukirchen2018-07-081-0/+4
|
* styleLeah Neukirchen2017-08-311-23/+23
|
* check_deps: allow target not to exist, keep track when dofile did not create ↵Leah Neukirchen2017-03-301-12/+9
| | | | target
* redo.c: keep lock_fd until the job actually finishedLeah Neukirchen2017-03-231-8/+13
|
* run_script: do not leak lock file fdsLeah Neukirchen2017-03-231-0/+2
|
* check_deps: always chdir back after calling sourcefileLeah Neukirchen2017-03-221-3/+3
|
* redo.c: styleLeah Neukirchen2017-03-221-9/+15
|
* check_deps: keep track of proper pwd when recursingLeah Neukirchen2017-03-221-6/+20
| | | | | | | | Else, a dependency to a subdirectory would change into it, but then look up the subdirectory-relative names in the .dep file according to the dir_fd of the parent. Now, we keep dir_fd updated, and ensure after each .dep line we return to it.
* LeahizeLeah Neukirchen2017-03-221-1/+1
|
* redo.c: update reference to jdebpChristian Neukirchen2016-08-241-1/+1
|
* $2 for non-default .do files is same as $1 actuallyChristian Neukirchen2015-09-061-1/+1
|
* Mention redo -f / redo -kChristian Neukirchen2015-09-061-2/+6
|
* record_deps needs to go back to where redo started, so the paths make senseChristian Neukirchen2015-09-061-0/+2
|
* Fix $2 for default.EXT.doChristian Neukirchen2015-09-061-8/+28
|
* Don't read after end of dirprefixChristian Neukirchen2015-09-061-1/+2
|
* Avoid close(-1) on toplevel redo.Christian Neukirchen2015-09-061-1/+2
|
* Use PATH_MAX for filename buffersChristian Neukirchen2015-09-061-9/+10
|
* Add NOTESChristian Neukirchen2015-09-061-0/+32
|
* Lock jobs to detect parallel builds of same targetChristian Neukirchen2015-09-061-24/+72
|
* Call .do files from the directory they reside in, rewrite argumentsChristian Neukirchen2015-09-061-9/+27
|
* Error handling in targetchdirChristian Neukirchen2015-09-061-1/+8
|
* redo-hash, just for debuggingChristian Neukirchen2015-09-042-4/+3
|
* Add redo-sources and redo-targetsChristian Neukirchen2015-09-042-0/+13
|
* Change naming schema: .foo.c.dep -> .dep.foo.cChristian Neukirchen2015-09-041-2/+2
|
* Factor write_depChristian Neukirchen2015-09-041-11/+16
|
* Track ctime and don't recompute hash when ctime is sameChristian Neukirchen2015-09-041-7/+23
|
* fix formattingChristian Neukirchen2015-09-041-41/+41
|
* redo -s / REDO_STDOUT=1 to enable the old "collect stdout" mode.Christian Neukirchen2015-09-041-6/+15
|
* Output "redo ..." lines to stderrChristian Neukirchen2015-09-041-1/+1
|
* Actually recurse into dependencies when checking them >_<Christian Neukirchen2015-09-041-10/+16
| | | | Thanks to @erlehmann for pointing this out.
* Mention @erlehmann's redo in shell.Christian Neukirchen2015-09-041-0/+1
|
* Store hash for foo in .foo.dep too, to detect changes to targetsChristian Neukirchen2015-09-011-2/+10
|
* Skip over nonexisting files in record_depsChristian Neukirchen2015-09-011-3/+7
|
* Revert "Check for dofile earlier"Christian Neukirchen2015-09-011-6/+6
| | | | | | Then the ifcreate end up in the wrong dep file. This reverts commit 0c203b8300880d398e5df79d86b38bfba1b99329.
* Put dofile into static bufferChristian Neukirchen2015-09-011-2/+2
|
* Add links.doChristian Neukirchen2015-09-012-1/+5
|
* Remove empty target tempfilesChristian Neukirchen2015-09-011-0/+2
|
* Build redo with redo...Christian Neukirchen2015-09-012-0/+3
|
* Skip source files, duhChristian Neukirchen2015-09-011-1/+8
|
* Check for dofile earlierChristian Neukirchen2015-09-011-6/+6
|
* Mention prior artChristian Neukirchen2015-09-011-0/+4
|
* cleanupChristian Neukirchen2015-09-011-4/+1
|
* Unmix declarations and codeChristian Neukirchen2015-09-011-19/+22
|
* Add header commentChristian Neukirchen2015-09-011-0/+11
|
* tweakChristian Neukirchen2015-09-011-2/+1
|
* -Wwrite-strings safeChristian Neukirchen2015-09-011-5/+5
|
* cleanupChristian Neukirchen2015-09-011-15/+13
|