1
Fork 0
mirror of https://git.savannah.gnu.org/git/guile.git synced 2025-05-29 08:20:20 +02:00
guile/module
Mark H Weaver 5ecc58113a 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.

* doc/ref/api-evaluation.texi (REPL Servers): Add a caveat to the manual
  entry for 'stop-servers-and-clients!'.
2014-02-12 11:21:46 -05:00
..
ice-9 Fix truncated-print for uniform vectors 2014-02-07 18:04:20 +01:00
language Compile numerical comparisons with more than 2 arguments to VM code. 2014-02-01 01:19:16 -05:00
oop Improve correctness and consistency of 'eval-when' usage. 2014-01-23 10:41:22 -05:00
rnrs Convert guile exceptions to R6RS conditions in R6RS exception handlers. 2013-11-18 00:35:42 -05:00
scripts Fix a couple of warnings. 2012-01-26 00:37:23 +01:00
srfi (srfi srfi-4 gnu) uses private define-bytevector-type from (srfi srfi-4) 2014-02-07 18:00:04 +01:00
sxml Remove duplicate definitions of call/ec' and let/ec'. 2013-04-06 15:40:19 +02:00
system REPL Server: Fix 'stop-server-and-clients!'. 2014-02-12 11:21:46 -05:00
texinfo Improve correctness and consistency of 'eval-when' usage. 2014-01-23 10:41:22 -05:00
web Write out HTTP Basic auth headers correctly. 2014-01-21 16:11:04 -05:00
Makefile.am Implement SRFI-64 - A Scheme API for test suites. 2014-02-01 01:19:55 -05:00
rnrs.scm Add missing R6RS `open-file-input/output-port' procedure 2012-11-12 20:47:57 +01:00
statprof.scm add gcprof 2011-05-05 11:43:12 +02:00
texinfo.scm texinfo: Recognize `@:'. 2013-03-21 18:52:29 +01:00