diff options
author | Ludovic Courtès <ludo@gnu.org> | 2018-01-22 23:07:10 +0100 |
---|---|---|
committer | Ludovic Courtès <ludo@gnu.org> | 2018-01-22 23:39:51 +0100 |
commit | ee11ba1d93b24753eafcd77eef8543e5cac5ba4c (patch) | |
tree | 4179c8ead2eadbcee2dd7e922cfa82fe114a8c88 /configure.ac | |
parent | f9481e2222ae127d631888c0d81f5b725c5cbc2a (diff) | |
download | cuirass-ee11ba1d93b24753eafcd77eef8543e5cac5ba4c.tar cuirass-ee11ba1d93b24753eafcd77eef8543e5cac5ba4c.tar.gz |
Introduce concurrency with Fibers.
* README: Mark Fibers as required.
* configure.ac: Check for Guile 2.2 only. Check for (fibers).
* bin/cuirass.in (main): Use (fibers). Run 'process-specs' and web
server in separate fibers.
* src/cuirass/base.scm (with-store): New macro.
(non-blocking-port): New procedure.
(evaluate): Use 'non-blocking-port'. Use 'read-string' followed by 'read'.
(process-specs): Move 'db-add-stamp' right after 'string=?' comparison.
Run evaluation and subsequent builds in a separate fiber.
* src/cuirass/http.scm (run-cuirass-server): Pass 'fibers as the second
argument to 'run-server'. Use 'log-message' instead of 'format'.
* src/cuirass/database.scm (with-database): Remove 'dynamic-wind'.
Diffstat (limited to 'configure.ac')
-rw-r--r-- | configure.ac | 10 |
1 files changed, 4 insertions, 6 deletions
diff --git a/configure.ac b/configure.ac index 9c6a597..0de0065 100644 --- a/configure.ac +++ b/configure.ac @@ -1,7 +1,7 @@ ## Process this file with autoconf to produce a configure script. # Copyright © 2016, 2017 Mathieu Lirzin <mthl@gnu.org> -# Copyright © 2017 Ludovic Courtès <ludo@gnu.org> +# Copyright © 2017, 2018 Ludovic Courtès <ludo@gnu.org> # Copyright © 2017 Mathieu Othacehe <m.othacehe@gmail.com> # # This file is part of Cuirass. @@ -35,11 +35,8 @@ AC_CANONICAL_HOST AC_PROG_MKDIR_P AC_PROG_SED -GUILE_PKG([2.2 2.0]) - -if test "x$GUILE_EFFECTIVE_VERSION" = "x2.0"; then - PKG_CHECK_MODULES([GUILE], [guile-2.0 >= 2.0.7]) -fi +# We need Fibers, which requires 2.2+. +GUILE_PKG([2.2]) AC_PATH_PROG([GUILE], [guile]) AC_PATH_PROG([GUILD], [guild]) @@ -51,6 +48,7 @@ GUILE_MODULE_REQUIRED([guix git]) GUILE_MODULE_REQUIRED([git]) GUILE_MODULE_REQUIRED([json]) GUILE_MODULE_REQUIRED([sqlite3]) +GUILE_MODULE_REQUIRED([fibers]) # We depend on new Guile-Git errors. GUILE_MODULE_REQUIRED_EXPORT([(git)], git-error-message) |