diff options
author | Ludovic Courtès <ludo@gnu.org> | 2018-01-29 18:02:53 +0100 |
---|---|---|
committer | Ludovic Courtès <ludo@gnu.org> | 2018-01-29 18:06:47 +0100 |
commit | e0588239d2d5d5f702696f651817170e952a1387 (patch) | |
tree | 54696297849fff1ab16a90929e0fc733d6f247f6 /Makefile.am | |
parent | 0bf61ef1ff4ec7c4e24d6315f9a24e55959ec594 (diff) | |
download | cuirass-e0588239d2d5d5f702696f651817170e952a1387.tar cuirass-e0588239d2d5d5f702696f651817170e952a1387.tar.gz |
base: Make build log processing non-blocking.
We used to have 'build-derivations' write to the custom binary port
returned by 'build-event-output-port'. However, custom binary ports
constitute continuation barriers, thereby preventing fibers from being
suspended.
To make build log processing non-blocking, we therefore invert this
inversion of control and use a suspendable I/O procedure,
'read-line/non-blocking', when reading the build log.
* src/cuirass/base.scm (read-line/non-blocking, process-build-log)
(build-derivations&): New procedures.
(%newline, build-event-output-port): Remove.
(spawn-builds): Use 'build-derivations&' instead of 'build-derivations'
with 'build-event-output-port'.
Diffstat (limited to 'Makefile.am')
0 files changed, 0 insertions, 0 deletions