[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[gnunet-scheme] 194/324: mq-impl/stream: Eliminate atomic box.
From: |
gnunet |
Subject: |
[gnunet-scheme] 194/324: mq-impl/stream: Eliminate atomic box. |
Date: |
Tue, 21 Sep 2021 13:23:54 +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 4f9092cdd48f72e399dc1676544f99a213ce0449
Author: Maxime Devos <maximedevos@telenet.be>
AuthorDate: Sat Aug 21 13:24:43 2021 +0200
mq-impl/stream: Eliminate atomic box.
A regular variable suffices.
* gnu/gnunet/mq-impl/stream.scm
(connect/fibers): Replace atomic box 'socket/box' with variable
'socket'. Don't use mutation.
---
gnu/gnunet/mq-impl/stream.scm | 12 +++---------
1 file changed, 3 insertions(+), 9 deletions(-)
diff --git a/gnu/gnunet/mq-impl/stream.scm b/gnu/gnunet/mq-impl/stream.scm
index 2a56959..3e2158a 100644
--- a/gnu/gnunet/mq-impl/stream.scm
+++ b/gnu/gnunet/mq-impl/stream.scm
@@ -261,21 +261,15 @@ 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 socket/box (make-atomic-box #f))
(define rcvar (make-repeated-condition))
(define (interrupt! mq)
(trigger-condition! rcvar))
(define wait! (cut await-trigger! rcvar))
(let ((mq (make-message-queue handlers error-handler interrupt!)))
(spawn (lambda ()
- (atomic-box-set! socket/box
- (connect-unix config service-name))
+ (define socket (connect-unix config service-name))
(inject-error! mq 'connection:connected)
- (spawn
- (lambda ()
- (handle-input! mq (atomic-box-ref socket/box))))
- (spawn
- (lambda ()
- (handle-output! mq (atomic-box-ref socket/box) wait!)))))
+ (spawn (lambda () (handle-input! mq socket)))
+ (spawn (lambda () (handle-output! mq socket wait!)))))
mq))))
--
To stop receiving notification emails like this one, please contact
gnunet@gnunet.org.
- [gnunet-scheme] 207/324: hat-let: Allow (dotted) variable lists with <--., (continued)
- [gnunet-scheme] 207/324: hat-let: Allow (dotted) variable lists with <--., gnunet, 2021/09/21
- [gnunet-scheme] 211/324: doc: Correct typo (mesage -> message), gnunet, 2021/09/21
- [gnunet-scheme] 215/324: tests/mq-stream: Use 'message-handler' macro., gnunet, 2021/09/21
- [gnunet-scheme] 218/324: mq-impl/stream: Name the reader and writer thunks., gnunet, 2021/09/21
- [gnunet-scheme] 208/324: tests/mq-stream: Don't assume setvbuf returns anything., gnunet, 2021/09/21
- [gnunet-scheme] 212/324: mq/handler: Define a macro for constructing handlers., gnunet, 2021/09/21
- [gnunet-scheme] 220/324: mq-impl/stream: Extract code to be shared with connect/fibers., gnunet, 2021/09/21
- [gnunet-scheme] 226/324: doc: Generate PDF and HTML documentation, gnunet, 2021/09/21
- [gnunet-scheme] 227/324: mq: Remove TODOs about hypothetical &malformed-message., gnunet, 2021/09/21
- [gnunet-scheme] 229/324: guix: Import missing module., gnunet, 2021/09/21
- [gnunet-scheme] 194/324: mq-impl/stream: Eliminate atomic box.,
gnunet <=
- [gnunet-scheme] 191/324: doc: Document message queue error handling., gnunet, 2021/09/21
- [gnunet-scheme] 216/324: mq: Inject errors if no appropriate message handler exists., gnunet, 2021/09/21
- [gnunet-scheme] 190/324: Correct XXX and TODO on input:regular-end-of-file., gnunet, 2021/09/21
- [gnunet-scheme] 196/324: mq-impl/stream: Stop all fibers when EOF is reached (part 1)., gnunet, 2021/09/21
- [gnunet-scheme] 201/324: tests/mq-stream: Make test more strict., gnunet, 2021/09/21
- [gnunet-scheme] 204/324: mq-impl/stream: Document implementation pitfall., gnunet, 2021/09/21
- [gnunet-scheme] 214/324: tests/mq: Use 'message-handler' macro., gnunet, 2021/09/21
- [gnunet-scheme] 217/324: tests/mq: Spam the log less., gnunet, 2021/09/21
- [gnunet-scheme] 233/324: doc: Document the message type database a little., gnunet, 2021/09/21
- [gnunet-scheme] 232/324: doc: Partially document handler procedures and interposers., gnunet, 2021/09/21