[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Guile-commits] GNU Guile branch, coop-repl-servers, created. v2.0.9-186
From: |
Mark H Weaver |
Subject: |
[Guile-commits] GNU Guile branch, coop-repl-servers, created. v2.0.9-186-gdbe46c1 |
Date: |
Thu, 06 Feb 2014 04:24:53 +0000 |
This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "GNU Guile".
http://git.savannah.gnu.org/cgit/guile.git/commit/?id=dbe46c1ff2c382530429078ea7a41a31b6c1896c
The branch, coop-repl-servers has been created
at dbe46c1ff2c382530429078ea7a41a31b6c1896c (commit)
- Log -----------------------------------------------------------------
commit dbe46c1ff2c382530429078ea7a41a31b6c1896c
Author: David Thompson <address@hidden>
Date: Sun Jan 19 13:16:02 2014 -0500
Add cooperative REPL server module.
Modified-by: Mark H Weaver <address@hidden>
* module/system/repl/coop-server.scm: New module.
* module/system/repl/repl.scm (start-repl): Extract body to start-repl*.
(start-repl*): New procedure.
(run-repl): Extract body to run-repl*.
(run-repl*): New procedure.
* module/system/repl/server.scm (run-server): Extract body to
run-server*.
(run-server*): New procedure.
* doc/ref/api-evaluation.texi (Cooperative REPL Servers): New node.
* module/Makefile.am (SYSTEM_SOURCES): Add system/repl/coop-server.scm.
commit dfa53cef01474dfe19c977e22c4297f42c26c879
Author: Mark H Weaver <address@hidden>
Date: Tue Feb 4 12:18:22 2014 -0500
REPL Server: Fix 'stop-server-and-clients!'.
* module/system/repl/server.scm: Import (ice-9 match) and (srfi srfi-1).
(*open-sockets*): Add comment. This is now a list of pairs with a
'force-close' procedure in the cdr.
(close-socket!): Add comment noting that it is unsafe to call this
from another thread.
(add-open-socket!): Add 'force-close' argument, and put it in the cdr
of the '*open-sockets*' entry.
(stop-server-and-clients!): Use 'match'. Remove the first element
from *open-sockets* immediately. Call the 'force-close' procedure
instead of 'close-socket!'.
(errs-to-retry): New variable.
(run-server): Add a pipe, used in the 'force-close' procedure to
cleanly shut down the server. Put the server socket into non-blocking
mode. Use 'select' to monitor both the server socket and the pipe.
Don't call 'add-open-socket!' on the client-socket. Close the pipe
and the server socket cleanly when we're asked to shut down.
(serve-client): Call 'add-open-socket!' with a 'force-close' procedure
that cancels the thread. Set the thread cleanup handler to call
'close-socket!', instead of calling it in the main body.
-----------------------------------------------------------------------
hooks/post-receive
--
GNU Guile
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- [Guile-commits] GNU Guile branch, coop-repl-servers, created. v2.0.9-186-gdbe46c1,
Mark H Weaver <=