;;; GNU Guix --- Functional package management for GNU ;;; Copyright © 2017 Ludovic Courtès ;;; ;;; This file is part of GNU Guix. ;;; ;;; GNU Guix is free software; you can redistribute it and/or modify it ;;; under the terms of the GNU General Public License as published by ;;; the Free Software Foundation; either version 3 of the License, or (at ;;; your option) any later version. ;;; ;;; GNU Guix is distributed in the hope that it will be useful, but ;;; WITHOUT ANY WARRANTY; without even the implied warranty of ;;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the ;;; GNU General Public License for more details. ;;; ;;; You should have received a copy of the GNU General Public License ;;; along with GNU Guix. If not, see . (define-module (test-workers) #:use-module (guix workers) #:use-module (ice-9 threads) #:use-module (srfi srfi-64)) (test-begin "workers") (test-equal "enqueue" 4242 (let* ((pool (make-pool)) (result 0) (1+! (let ((lock (make-mutex))) (lambda () (with-mutex lock (set! result (+ result 1))))))) (let loop ((i 4242)) (unless (zero? i) (pool-enqueue! pool 1+!) (loop (- i 1)))) (let poll () (unless (pool-idle? pool) (pk 'busy result) (sleep 1) (poll))) result)) ;; Same as above, but throw exceptions within the workers and make sure they ;; remain alive. (test-equal "exceptions" 4242 (let* ((pool (make-pool 10)) (result 0) (1+! (let ((lock (make-mutex))) (lambda () (with-mutex lock (set! result (+ result 1))))))) (let loop ((i 10)) (unless (zero? i) (pool-enqueue! pool (lambda () (throw 'whatever))) (loop (- i 1)))) (let loop ((i 4242)) (unless (zero? i) (pool-enqueue! pool 1+!) (loop (- i 1)))) (let poll () (unless (pool-idle? pool) (pk 'busy result) (sleep 1) (poll))) result)) (test-end) 6d058ce134b8f0693e7d87c5612757c572db5e'>gnu/packages/gps.scm
AgeCommit message (Expand)Author
2023-07-09gnu: gpsd: Download using mirror uri....* gnu/packages/gps.scm (gpsd)[source]: Rewrite source uri to use download mirrors. Efraim Flashner
2023-03-02gnu: gama: Update to 2.24....* gnu/packages/gps.scm (gama): Update to 2.24. Efraim Flashner
2022-10-25gnu: gama: Update to 2.23....* gnu/packages/gps.scm (gama): Update to 2.23. Efraim Flashner
2022-08-27gnu: scons: Move to (gnu packages build-tools)....* gnu/packages/python-xyz.scm (scons, scons-python2): Move from here ... * gnu/packages/build-tools.scm (scons, scons-python2): ... to here. * gnu/packages/direct-connect.scm, gnu/packages/disk.scm, gnu/packages/game-development.scm, gnu/packages/gps.scm, gnu/packages/image.scm, gnu/packages/installers.scm, gnu/packages/web.scm, gnu/packages/xdisorg.scm: Adjust module imports accordingly. * guix/build-system/scons.scm (default-scons): Likewise. Marius Bakke
2022-07-31gnu: qttools: Rename to qttools-5....Automated with: git grep -l qttools | xargs sed 's/\bqttools\b/\0-5/g' -i git checkout NEWS Maxim Cournoyer
2022-07-31gnu: qtsvg: Rename variable to qtsvg-5....This is in preparation of the qtsvg update to version 6. This change was automated via the following command: git grep -l '\bqtsvg\b' | xargs sed 's/qtsvg/qtsvg-5/g' -i Maxim Cournoyer
2022-07-17gnu: gama: Update to 2.21....* gnu/packages/gps.scm (gama): Update to 2.21. Efraim Flashner
2022-06-20gnu: gpxsee: Update to 11.1....* gnu/packages/gps.scm (gpxsee): Update to 11.1. Signed-off-by: Guillaume Le Vaillant <glv@posteo.net> Nikolay Korotkiy
2022-04-29gnu: gama: Update to 2.19....* gnu/packages/gps.scm (gama): Update to 2.19. Efraim Flashner
2022-04-13gnu: gama: Update to 2.18....* gnu/packages/gps.scm (gama): Update to 2.18. Efraim Flashner
2022-02-08gnu: gpxsee: Update to 10.3....* gnu/packages/gps.scm (gpxsee): Update to 10.3. Signed-off-by: Nicolas Goaziou <mail@nicolasgoaziou.fr> Nikolay Korotkiy via Guix-patches via