| Commit message (Expand) | Author | Age | Files | Lines |
* | base: Call 'child-cleanup' when 'select' returns an empty set....Previously, on Guile >= 2.2, we'd lose this opportunity to call
'child-cleanup', possibly leaving zombies behind us.
* src/mcron/base.scm (run-job-loop): Define 'select*'. Don't expect
'select*' to throw upon EINTR or EAGAIN.
| Ludovic Courtès | 2020-02-27 | 1 | -14/+26 |
* | base: Box 'number-children'...* src/mcron/base.scm (number-children): Box it using SRFI-111 to be
explicit about the mutability of this object.
(update-number-children!): New procedure.
(run-job, child-cleanup): Use it.
* tests/base.scm ("update-number-children!: 1+")
("number-children: init", "update-number-children!: 1-"): New tests.
| Mathieu Lirzin | 2018-03-24 | 1 | -6/+15 |
* | base: Rewrite 'child-cleanup'...* src/mcron/base.scm (child-cleanup): Use recursion instead of 'do'.
| Mathieu Lirzin | 2018-03-24 | 1 | -6/+6 |
* | utils: Add 'get-user'...* src/mcron/utils.scm (get-user): New procedure.
* src/mcron/job-specifier.scm (job): Use it.
* src/mcron/base.scm (remove-user-jobs): Likewise.
| Mathieu Lirzin | 2018-03-24 | 1 | -3/+2 |
* | base: Rewrite 'find-next-jobs' docstring....* src/mcron/base.scm (find-next-jobs): Don't explain the detail of
implementation in the docstring.
| Mathieu Lirzin | 2018-03-24 | 1 | -15/+4 |
* | base: Add '<schedule>' record data type...Reifying the notion of a schedule helps reasoning about the code.
Passing a schedule as an argument to related procedures allows writing
simpler unit tests.
* src/mcron/base.scm(<schedule>): New record data type.
(make-schedule, schedule-user, set-schedule-user!)
(schedule-system, set-schedule-system!)
(schedule-current, set-schedule-current!): New procedures.
(system-job-list, user-job-list, configuration-source): Replace those
global variables with ...
(%global-schedule): ... this global <schedule> instance.
* src/mcron/base.scm (use-system-job-list, use-user-job-list)
(remove-user-jobs, clear-system-jobs, add-job, find-next-jobs)
(display-schedule, run-job-loop): Add '#:SCHEDULE' keyword argument.
* doc/mcron.texi (The base module): Update documentation.
| Mathieu Lirzin | 2018-03-24 | 1 | -66/+77 |
* | base: Add 'display-schedule' procedure...This procedure is a more generic and less coupled version of
'get-schedule' which has been kept for backward compatibility and
deprecated.
* src/mcron/base.scm (display-schedule): New procedure.
(get-schedule): Move to ...
* src/mcron/core.scm: ... here.
* src/mcron/scripts/cron.scm (main): Use 'display-schedule'.
* src/mcron/scripts/mcron.scm (main): Likewise.
* doc/mcron.texi (The base module): Document it.
| Mathieu Lirzin | 2018-03-16 | 1 | -27/+19 |
* | base: Add 'run-job' procedure....* src/mcron/base.scm (run-jobs): Delete.
(run-job): New procedure.
(run-job-loop): Use it.
| Mathieu Lirzin | 2017-09-28 | 1 | -31/+20 |
* | base: find-next-jobs: Use functional style....* src/mcron/base.scm (find-next-jobs): Rewrite it using functional
style. Add docstring.
| Mathieu Lirzin | 2016-12-28 | 1 | -40/+29 |
* | all: Gather module imports....* src/mcron/base.scm: Gather module imports.
* src/mcron/redirect.scm: Likewise.
* src/mcron/vixie-specification.scm: Likewise.
* src/mcron/vixie-time.scm: Likewise.
| Mathieu Lirzin | 2016-12-28 | 1 | -16/+12 |
* | maint: Reformat copyright notices and copying permission statements. | Mathieu Lirzin | 2016-12-28 | 1 | -20/+19 |
* | base: Rewrite 'run-job-loop'....* src/mcron/base.scm (run-job-loop): Use #:optional keyword argument, and
'match'.
| Mathieu Lirzin | 2016-12-28 | 1 | -44/+33 |
* | base: run-jobs: Ensure that the child process always terminates....* src/mcron/base.scm (run-jobs): Use 'dynamic-wind' instead of 'begin'.
| Ludovic Courtès | 2016-05-07 | 1 | -7/+11 |
* | base: Rename (mcron core) module to (mcron base)....The 'configure' script deletes the 'core.*' files. Having a file named
'base.scm' instead of 'core.scm' simplifies the build process without
changing the semantics.
* src/mcron/mcron-core.scm: Rename to ...
* src/mcron/base.scm: ... this.
All module users changed.
* Makefile.am (MODULES): Add 'src/mcron/base.scm'.
(CP): Remove variable.
(src/mcron/core.scm): Remove target.
(GEN_MODULES): Remove 'src/mcron/core.scm'.
(dist_mcronmodule_DATA): Remove 'src/mcron/mcron-core.scm'
* doc/mcron.texi: Adapt to name change.
* .gitignore: Update.
| Mathieu Lirzin | 2016-05-07 | 1 | -0/+270 |