gnunet-svn
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[gnunet-scheme] 04/04: tests/cadet: Simplify test by removing atomics.


From: gnunet
Subject: [gnunet-scheme] 04/04: tests/cadet: Simplify test by removing atomics.
Date: Thu, 25 Aug 2022 21:06:27 +0200

This is an automated email from the git hooks/post-receive script.

maxime-devos pushed a commit to branch master
in repository gnunet-scheme.

commit cb740f7387b4fdc8109d4c41528944fd47e30a2c
Author: Maxime Devos <maximedevos@telenet.be>
AuthorDate: Thu Aug 25 21:05:33 2022 +0200

    tests/cadet: Simplify test by removing atomics.
    
    It does #:hz 0 and #:parallelism 1, the atomic boxes are pointless.
    
    * tests/cadet.scm
    ("data is properly sent in response to acknowledgements, in-order"):
    Remove atomic boxes.
---
 tests/cadet.scm | 33 ++++++++++++---------------------
 1 file changed, 12 insertions(+), 21 deletions(-)

diff --git a/tests/cadet.scm b/tests/cadet.scm
index 1c60458..b883f5d 100644
--- a/tests/cadet.scm
+++ b/tests/cadet.scm
@@ -38,7 +38,6 @@
        (rnrs bytevectors)
        (only (fibers scheduler)
              yield-current-task)
-       (ice-9 atomic)
        (ice-9 match)
        (srfi srfi-8)
        (srfi srfi-64)
@@ -315,13 +314,11 @@
           (open-channel! server address0 (message-handlers)))
         (define message-queue
           (channel-message-queue channel))
-        (define n-added/non-atomic 0) ; how many messages have been added to 
the queue so far
-        (define n-added (make-atomic-box 0))
+        ;; No atomic boxes are required here even though they are accessed and 
mutated
+        ;; from multiple fibers, because of #:parallelism 0 and #:hz 0.
+        (define n-added 0) ; how many messages have been added to the queue so 
far
         (define n-sent 0) ; how many of those messages have been irrevocably 
sent
-        (define total-acknowledgements
-          (make-atomic-box 0))
-        (define total-acknowledgements/non-atomic
-          0)
+        (define total-acknowledgements 0)
         (define (make-notify-sent! i)
           (lambda ()
             ;; Verify that messages were sent in-order,
@@ -332,12 +329,10 @@
             ;; messages are sent sequentially.
             (set! n-sent (+ n-sent 1))
             ;; an additional check.
-            ;; Memory order: acquire.
-            (assert (<= n-sent (atomic-box-ref n-added)))
+            (assert (<= n-sent n-added))
             ;; Verify that the number of acknowledgements is respected.
-            ;; Memory order: acquire.
-            (assert (<= n-sent (atomic-box-ref total-acknowledgements)))
-                  (values)))
+            (assert (<= n-sent total-acknowledgements))
+            (values)))
         (let loop ((remaining messages+acknowledgements))
           (match remaining
             (('synchronize . remaining)
@@ -346,7 +341,7 @@
              ;; passage of some time).
              (let loop ((old-to-be-sent +inf.0))
                (define new-to-be-sent
-                 (- (min total-acknowledgements/non-atomic n-added/non-atomic) 
n-sent))
+                 (- (min total-acknowledgements n-added) n-sent))
                (assert (<= 0 new-to-be-sent))
                (assert (< new-to-be-sent old-to-be-sent)) ; bail out if no 
progress is made
                (when (< 0 new-to-be-sent)
@@ -362,18 +357,14 @@
              (loop remaining))
             ((#(n-new-messages n-new-acknowledgements) . remaining)
              (put-message server-channel n-new-acknowledgements)
-             (set! total-acknowledgements/non-atomic
-                   (+ n-new-acknowledgements 
total-acknowledgements/non-atomic))
-             ;; Memory order: release
-             (atomic-box-set! total-acknowledgements 
total-acknowledgements/non-atomic)
+             (set! total-acknowledgements
+                   (+ n-new-acknowledgements total-acknowledgements))
              (let loop2 ((k 0))
                (cond ((< k n-new-messages)
-                      (set! n-added/non-atomic (+ 1 n-added/non-atomic))
-                      ;; Memory order: release
-                      (atomic-box-set! n-added n-added/non-atomic)
+                      (set! n-added (+ 1 n-added))
                       (send-message! message-queue message
                                      #:notify-sent!
-                                     (make-notify-sent! (- n-added/non-atomic 
1)))
+                                     (make-notify-sent! (- n-added 1)))
                       (loop2 (+ k 1)))
                      (#true (loop remaining)))))
             (()

-- 
To stop receiving notification emails like this one, please contact
gnunet@gnunet.org.



reply via email to

[Prev in Thread] Current Thread [Next in Thread]