gnunet-svn
[Top][All Lists]
Advanced

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

[gnunet-scheme] 222/324: mq-impl/stream: Handle closed ports more gracef


From: gnunet
Subject: [gnunet-scheme] 222/324: mq-impl/stream: Handle closed ports more gracefully.
Date: Tue, 21 Sep 2021 13:24:22 +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 87f74c09a77e92498d4306b20dd8a2b08d0e1fff
Author: Maxime Devos <maximedevos@telenet.be>
AuthorDate: Wed Sep 1 20:09:43 2021 +0200

    mq-impl/stream: Handle closed ports more gracefully.
    
    * gnu/gnunet/mq-impl/stream.scm
      (connect/fibers): Use 'prepare-port-message-queue'.
---
 gnu/gnunet/mq-impl/stream.scm | 14 +++++---------
 1 file changed, 5 insertions(+), 9 deletions(-)

diff --git a/gnu/gnunet/mq-impl/stream.scm b/gnu/gnunet/mq-impl/stream.scm
index bcee0b0..53df0a5 100644
--- a/gnu/gnunet/mq-impl/stream.scm
+++ b/gnu/gnunet/mq-impl/stream.scm
@@ -365,18 +365,14 @@ When the connection has been established, the error 
@code{connection:connected}
 (a symbol) is injected into the message queue.  When the connection has been
 closed by the server (e.g. because the server was stopped or is restarting)
 the error @code{input:regular-end-of-file} is injected into the message queue."
-      ;; TODO ^^^^ stop the fibers when the server closed the connection.
-
       ;; TODO closing message queues
-      (define rcvar (make-repeated-condition))
-      (define (interrupt! mq)
-       (trigger-condition! rcvar))
-      (define wait! (cut await-trigger! rcvar))
-      (define mq (make-message-queue handlers error-handler interrupt!))
+      (define-values (start-fibers interrupt!)
+       (prepare-port-message-queue spawn))
+      (define mq
+       (make-message-queue handlers error-handler interrupt!))
       (spawn (lambda ()
               (define socket (connect-unix config service-name))
               (inject-error! mq 'connection:connected)
-              (spawn (lambda () (handle-input! mq socket)))
-              (spawn (lambda () (handle-output! mq socket wait!)))))
+              (start-fibers mq socket)))
       mq)))
 

-- 
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]