[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[gnunet-scheme] 193/324: mq-impl/stream: Eliminate condition variable.
From: |
gnunet |
Subject: |
[gnunet-scheme] 193/324: mq-impl/stream: Eliminate condition variable. |
Date: |
Tue, 21 Sep 2021 13:23:53 +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 ff2bdd71326d30fa6232bd261bb1ae0d11192b32
Author: Maxime Devos <maximedevos@telenet.be>
AuthorDate: Sat Aug 21 13:19:49 2021 +0200
mq-impl/stream: Eliminate condition variable.
Only spawning the 'handle-input!' and 'handle-output!' fiber
once the connection has been made eliminates the need for
the 'socket-connected?' condition and simplifies the code
somewhat.
* gnu/gnunet/mq-impl/stream.scm
(connect/fibers): Eliminate 'socket-connected?'.
---
gnu/gnunet/mq-impl/stream.scm | 14 ++++++--------
1 file changed, 6 insertions(+), 8 deletions(-)
diff --git a/gnu/gnunet/mq-impl/stream.scm b/gnu/gnunet/mq-impl/stream.scm
index 48ad549..2a56959 100644
--- a/gnu/gnunet/mq-impl/stream.scm
+++ b/gnu/gnunet/mq-impl/stream.scm
@@ -266,18 +266,16 @@ the error @code{input:regular-end-of-file} is injected
into the message queue."
(define (interrupt! mq)
(trigger-condition! rcvar))
(define wait! (cut await-trigger! rcvar))
- (define socket-connected? (make-condition))
(let ((mq (make-message-queue handlers error-handler interrupt!)))
- (spawn (lambda ()
- (wait socket-connected?)
- (handle-input! mq (atomic-box-ref socket/box))))
- (spawn (lambda ()
- (wait socket-connected?)
- (handle-output! mq (atomic-box-ref socket/box) wait!)))
(spawn (lambda ()
(atomic-box-set! socket/box
(connect-unix config service-name))
(inject-error! mq 'connection:connected)
- (signal-condition! socket-connected?)))
+ (spawn
+ (lambda ()
+ (handle-input! mq (atomic-box-ref socket/box))))
+ (spawn
+ (lambda ()
+ (handle-output! mq (atomic-box-ref socket/box) wait!)))))
mq))))
--
To stop receiving notification emails like this one, please contact
gnunet@gnunet.org.
- [gnunet-scheme] 166/324: guix: Use fixed version of guile., (continued)
- [gnunet-scheme] 166/324: guix: Use fixed version of guile., gnunet, 2021/09/21
- [gnunet-scheme] 176/324: tests/utils: New utilities for tests., gnunet, 2021/09/21
- [gnunet-scheme] 172/324: crypto/struct: Define /ecc-signature-purpose., gnunet, 2021/09/21
- [gnunet-scheme] 179/324: nse/struct: Document 'timestamp' field of estimates., gnunet, 2021/09/21
- [gnunet-scheme] 192/324: tests/mq-stream: Recognise the 'input:regular-end-of-file' error., gnunet, 2021/09/21
- [gnunet-scheme] 206/324: mq-impl/stream: Flush the output port regularily., gnunet, 2021/09/21
- [gnunet-scheme] 198/324: doc: Document dependencies and how to get the source code., gnunet, 2021/09/21
- [gnunet-scheme] 202/324: mq-impl/stream: Allow the write fiber to stop even if blocking., gnunet, 2021/09/21
- [gnunet-scheme] 205/324: tests/mq-stream: Unbreak SIGPIPE signal handler., gnunet, 2021/09/21
- [gnunet-scheme] 203/324: tests/mq-stream: Make tests less fragile., gnunet, 2021/09/21
- [gnunet-scheme] 193/324: mq-impl/stream: Eliminate condition variable.,
gnunet <=
- [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