1. 12 May, 2012 1 commit
  2. 11 May, 2012 3 commits
  3. 06 May, 2012 3 commits
  4. 04 May, 2012 1 commit
  5. 03 May, 2012 5 commits
  6. 27 Apr, 2012 1 commit
  7. 20 Apr, 2012 2 commits
    • Nikodemus Siivola's avatar
      sbcl: workaround for auto-flush thread deadlocks, take II · 72594e3d
      Nikodemus Siivola authored
        Occasionally auto-flush thread could deadlock with a thread doing
        compilation:
      
          T1: grabs world-lock
          T2: decides to flush, grabs stream lock
          T1: needs to do output (compiler note, etc), waits on the stream lock
          T2: needs the world-lock for a while (PCL dispatch machinery setup, etc)
      
          *boink*
      
        This is an SBCL issue, no mistake about it -- but sorting out the world-lock
        handling is going to take a while, and sticking a deadline around the
        FINISH-OUTPUT call avoids the issue.
      
        In this iteration the change is limited to swank-sbcl.lisp, making it
        hopefully non-intrusive enough to stay in.
      72594e3d
    • Nikodemus Siivola's avatar
  8. 07 Apr, 2012 1 commit
  9. 30 Mar, 2012 2 commits
  10. 26 Mar, 2012 1 commit
  11. 06 Mar, 2012 1 commit
  12. 06 Jan, 2012 1 commit
    • Helmut Eller's avatar
      Add a "sentinel thread" to protect access to global lists. · db92b848
      Helmut Eller authored
      * swank.lisp (start-sentinel, sentinel, send-to-sentinel)
      (sentinel-serve, sentinel-stop-server, sentinel-maybe-exit): New.
      (make-connection, close-connection, setup-server, stop-server):
      Use the sentinel.
      (close-connection%): Factored out.
      * swank-backend.lisp (register-thread, find-registered): New.
      * swank-allegro.lisp: Implement it.
      * swank-ccl.lisp:
      * swank-lispworks.lisp:
      * swank-sbcl.lisp:
      db92b848
  13. 21 Dec, 2011 1 commit
  14. 03 Dec, 2011 2 commits
  15. 02 Dec, 2011 2 commits
  16. 01 Dec, 2011 1 commit
  17. 27 Nov, 2011 1 commit
    • Helmut Eller's avatar
      * swank.lisp (create-server): Add a :backlog argument. · a259dee0
      Helmut Eller authored
      (setup-server): Pass it along.
      
      * swank-backend.lisp (create-socket): Backlog argument.
      * swank-abcl.lisp: Implement it.
      * swank-allegro.lisp:
      * swank-ccl.lisp:
      * swank-clisp.lisp:
      * swank-cmucl.lisp:
      * swank-corman.lisp:
      * swank-ecl.lisp:
      * swank-lispworks.lisp:
      * swank-sbcl.lisp:
      * swank-scl.lisp:
      a259dee0
  18. 19 Nov, 2011 1 commit
  19. 06 Nov, 2011 3 commits
    • Helmut Eller's avatar
      New wire format. · d8166b0e
      Helmut Eller authored
      Switch from character streams to binary streams.  Counting
      characters was error prone because some Lisps use utf-16
      internally and so READ-SEQUENCE can't be used easily.
      
      The new format looks so:
      
        | byte0 | 3 bytes length |
        |    ... payload ...     |
      
      The playload is an s-exp encoded as UTF-8 string.  byte0 is
      currently always 0; other values are reserved for future use.
      
      * swank-rpc.lisp (write-message): Use new format.
      (write-header, parse-header, asciify, encoding-error): New.
      
      * swank.lisp (accept-connections): Create a binary stream.
      (input-available-p): Can't read-char-no-hang on binary streams.
      
      * slime.el (slime-net-connect): Use binary as coding system.
      (slime-net-send, slime-net-read, slime-net-decode-length)
      (slime-net-encode-length, slime-net-have-input-p): Use new format.
      (slime-unibyte-string, slime-handle-net-read-error): New.
      (featurep): Require 'un-define for XEmacs.
      ([test] break): Longer timeouts.
      
      * swank-sbcl.lisp (input-ready-p): Use sb-sys:wait-until-fd-usable.
      d8166b0e
    • Helmut Eller's avatar
      * swank-abcl.lisp (accept-connection): Make it so. · 1bfb920b
      Helmut Eller authored
      * swank-clisp.lisp (accept-connection): Make it so.
      * swank-cmucl.lisp (accept-connection): Make it so.
      * swank-lispworks.lisp (accept-connection): Make it so.
      * swank-sbcl.lisp (accept-connection): Make it so.
      * swank-scl.lisp (accept-connection): Make it so.
      1bfb920b
    • Helmut Eller's avatar
  20. 01 Sep, 2011 1 commit
  21. 31 Aug, 2011 1 commit
    • Nikodemus Siivola's avatar
      sbcl: support for SBCL < 1.0.42.43 · 44829ea4
      Nikodemus Siivola authored
        In theory at least -- :SERVE-EVENTS keyword argument to MAKE-SOCKET-STREAM
        was introduced then, but I don't claim to have extensively tested current
        Slime with SBCLs that old.
      44829ea4
  22. 09 Aug, 2011 2 commits
  23. 03 Jul, 2011 1 commit
  24. 16 Jun, 2011 1 commit
  25. 14 Jun, 2011 1 commit
    • Nikodemus Siivola's avatar
      sbcl: workaround for auto-flush thread deadlocks · 9a6edb78
      Nikodemus Siivola authored
       Occasionally auto-flush thread could deadlock with a thread doing
       compilation:
      
         T1: grabs world-lock
         T2: decides to flush, grabs stream lock
         T1: needs to do output (compiler note, etc), waits on the stream lock
         T2: needs the world-lock for a while (PCL dispatch machinery setup, etc)
      
         KABOOM.
      
       This is an SBCL issue, no mistake about it -- but sorting out
       the world-lock handling is going to take a while, and sticking
       a deadline around the FINISH-OUTPUT call avoids the issue.
      9a6edb78