guile-commits
[Top][All Lists]
Advanced

[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



reply via email to

[Prev in Thread] Current Thread [Next in Thread]