[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.
- [gnunet-scheme] 241/324: nse/client: Add a 'disconnected' callback., (continued)
- [gnunet-scheme] 241/324: nse/client: Add a 'disconnected' callback., gnunet, 2021/09/21
- [gnunet-scheme] 195/324: mq-impl/stream: Reduce nesting., gnunet, 2021/09/21
- [gnunet-scheme] 200/324: mq-impl/stream: Make error injection less unobviously correct., gnunet, 2021/09/21
- [gnunet-scheme] 210/324: mq-stream: Reuse 'type' variable instead of reading the type again., gnunet, 2021/09/21
- [gnunet-scheme] 219/324: mq-impl/stream: Create the message queue as late as possible., gnunet, 2021/09/21
- [gnunet-scheme] 230/324: doc: Correct errors in ‘network structure’ section., gnunet, 2021/09/21
- [gnunet-scheme] 235/324: doc: Document how errors and received/sent messages are ordered., gnunet, 2021/09/21
- [gnunet-scheme] 199/324: guix: Use patched version of guile-fibers., gnunet, 2021/09/21
- [gnunet-scheme] 209/324: doc: Resolve the TODO about broken pipes., gnunet, 2021/09/21
- [gnunet-scheme] 213/324: nse/client: Use 'message-handler' macro., gnunet, 2021/09/21
- [gnunet-scheme] 222/324: mq-impl/stream: Handle closed ports more gracefully.,
gnunet <=
- [gnunet-scheme] 223/324: mq,doc: Update TODOs about message queues., gnunet, 2021/09/21
- [gnunet-scheme] 224/324: doc: Don't forget the message verifier., gnunet, 2021/09/21
- [gnunet-scheme] 225/324: mq: Inject errors when message verification has negative result., gnunet, 2021/09/21
- [gnunet-scheme] 234/324: doc: Remove resolved TODO., gnunet, 2021/09/21
- [gnunet-scheme] 240/324: mq-impl/stream: Handle ECONNRESET gracefully., gnunet, 2021/09/21
- [gnunet-scheme] 238/324: mq-impl/stream: Allow closing queues made with connect-fibers., gnunet, 2021/09/21
- [gnunet-scheme] 244/324: doc: Document the 'disconnected' callback., gnunet, 2021/09/21
- [gnunet-scheme] 246/324: mq,mq-impl: Remove TODOs about allocating memory., gnunet, 2021/09/21
- [gnunet-scheme] 245/324: mq-impl/stream: Eliminate 'return' argument of 'handle-input!'., gnunet, 2021/09/21
- [gnunet-scheme] 251/324: tests/utils: Move call-with-spawner from tests/mq-stream.scm., gnunet, 2021/09/21